我们有批处理脚本似乎运行良好,但是我正在编辑其中一个包含一些新工作以及手动运行脚本时(通过双击从Windows资源管理器)我得到每次遇到脚本中的pushd命令时,都会出现上述错误消息。这些都是推出的命令,自那年以来一直存在,脚本运行良好。 手动运行和调度程序启动的批处理脚本之间有区别吗? 如何在手动运行时禁用错误消息(如果可以的话)?CMD不支持将UNC路径作为当前目录
1
A
回答
0
在双击批处理文件cmd.exe
时,隐式使用选项/C
启动,在完成批处理文件执行并将批处理文件的目录设置为当前目录后关闭命令进程。
如果双击的批处理文件位于网络共享上,并且使用UNC路径而不是将网络共享映射到驱动器号并使用网络驱动器,则cmd.exe
通知用户UNC路径为当前目录不受支持,并且将当前目录设置为%SystemRoot%
(Windows目录)。
如果批处理文件设计用于从任何目录执行,这意味着它不要求批处理文件的目录是当前目录,则可以忽略该警告。良好的编码批处理文件,尤其是那些由Windows任务调度器执行的文件,可以使用任何目录作为当前目录执行。
在作为计划任务运行批处理文件时,任务计划程序在执行命令之前将%SystemRoot%\System32
(Windows系统目录)设置为当前目录,但特定目录路径显式设置为计划任务属性中的目录中的开始目录。
又见How can I disable the Universal Naming Convention (UNC) check for command sessions?
请注意,当您启用运行与UNC路径作为当前目录下的批处理文件的支持,一些控制台应用程序可能会失败,因为没有被设计用于环境的运行。
对于批处理文件设计为按计划任务执行并因此考虑到我在Executing BAT files in scheduled task的回答中列出的所有方面,可以使用UNC路径双击批处理文件来忽略此警告消息。
当然,你也可以创建批处理文件的快捷方式文件(* .LNK)在快捷方式文件的属性开始通过这个快捷方式与启动批处理文件为Windows任务调度程序将被设置为%SystemRoot%\System32
默认。
相关问题
- 1. pushd \\ network \路径返回CMD不支持将UNC路径作为当前目录
- 2. cmd不支持当前目录下的unc路径
- 3. CMD.EXE以上述路径作为当前目录启动。 UNC路径不受支持。默认Windows目录
- 4. 不支持UNC路径(\\ machine \ share)
- 5. 仅限某些用户:不支持UNC路径默认为windows目录
- 6. c#不支持给定路径的格式。 UNC路径
- 7. 将路径转换为UNC路径
- 8. 将HTTP路径转换为UNC路径?
- 9. 在CMD(DOSKEY)中复制当前目录的文件路径
- 10. 返回process.cwd()作为目录的bash路径而不是cmd路径?
- 11. 拆分路径与根目录UNC
- 12. qt项目当前目录的路径
- 13. “UNC路径,不支持”错误“SVN信息”命令
- 14. 从当前路径向上Windows目录
- 15. 移动项目“路径不受支持”。
- 16. 作为批处理文件中当前目录的UNC路径,请求管理员权限
- 17. 将ProcessStartInfo.WorkingDirectory设置为UNC路径
- 18. OneDrive UNC路径
- 19. Path.GetDirectoryName UNC路径
- 20. Matlab:将当前工作目录设置为路径中的最高优先级
- 21. Java目录路径 - Eclipse与Windows CMD
- 22. CMake的:转换相对路径绝对路径,以构建目录作为当前目录
- 23. 获得相对路径的绝对路径当前目录
- 24. 有没有办法支持nuget包源的嵌套UNC路径?
- 25. Cygwin SSH公钥认证UNC网络路径“不是目录”
- 26. 创建不支持PHP的目录路径mkdir?
- 27. 当前记录不支持书签
- 28. Firefox不支持长路径
- 29. 在Ruby中将UNC路径转换为UNC
- 30. 将UNC路径转换为网络系统的本地路径
非常感谢您的帮助。我试图创建一个启动快捷方式设置为%SystemRoot%\ System32,但我仍然得到UNC消息。 – Nelson
命令__CD__不能与UNC路径一起使用。所以如果你的批处理文件包含'cd“\\ Server \ Share \ folder1 \ folder2”'它不起作用。默认情况下,需要使用命令__PUSHD__,并启用命令扩展。否则__PUSHD__不支持将UNC路径临时映射到下一个空闲盘符。有关详细信息,请在命令提示符窗口'pushd /?'中运行。这可能是因为您在批处理文件中禁用了命令扩展,或者已经启动命令进程。 HKCU \ Software \ Microsoft \ Command Processor \ EnableExtensions'应在Windows注册表中具有值1。 – Mofi
我的批处理文件包含一个pushd命令和一个暂停命令。 检查注册表,命令扩展已经启用。 – Nelson