脚本由于网络位置而无法执行

时间:2018-11-09 08:21:43

标签: windows batch-file

我无法执行此脚本:

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目录作为实际目录集。

如果我在本地执行脚本,则效果很好。

我如何让它工作?

1 个答案:

答案 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"