我无法执行此脚本:
execv
我收到以下消息:
“ \ W12DC-FILE \ MA-Daten \ CMMWS \ CAQ-Import-Rauheit-Kontur-Rondcom \ Konturograph” CMD.EXE文件被破坏,文件被破坏。 UNC-Pfade werden nichtunterstützt。 Stattdessen wird das Windows-Verzeichnis als aktuelles Verzeichnis gesetzt。
这意味着:
CMD.exe是通过以下路径启动的。不支持UNC-Pahts。取而代之的是将Windows目录作为实际目录集。
如果我在本地执行脚本,则效果很好。
我如何让它工作?
答案 0 :(得分:1)
像Squashman所说,您可以从UNC路径启动批处理文件,但是cmd.exe无法处理它们,因此Windows目录将用作当前路径。
可以通过%~dp0
访问原始的起始UNC路径。
您可以使用pushd
为它们创建临时驱动器号,但是%%~dpG
不起作用,因为对于来自"*INF*.txt"
的示例路径,您会得到
C:\W12DC-FILE\MA-Daten\CMMWS\CAQ-Import-Rauheit-Kontur-Rondcom\Konturograph
但是当您将COPY
替换为XCOPY
时,它甚至更容易,因为它还可以处理UNC路径
...
XCOPY "%%~dp0\%%~G" ...
ren "%%~dp0\%%~G" "%%~dp0\%%~G.ok"