Я не могу выполнить этот скрипт:
@ECHO off
for /R %%G in (*INF*.txt) do (
pushd "%%~dpG"
FOR %%H IN (*RES*.txt) DO (
copy "%%~G" + "%%~H" "%date% %time:~0,2%-%time:~3,2%-%time:~6,2%.csv"
ren "%%~G" "%%~nxG.ok"
ren "%%~H" "%%~nxH.ok"
)
popd
)
У меня есть следующее сообщение:
"\W12DC-FILE\MA-Daten\CMMWS\CAQ-Import-Rauheit-Kontur-Rondcom\Konturograph" CMD.EXE wurde mit dem oben angegebenen Pfad als aktuellem Verzeichnis gestartet. UNC-Pfade werden nicht unterstützt. Stattdessen wird das Windows-Verzeichnis als aktuelles Verzeichnis gesetzt.
Это означает:
CMD.exe was started with following Path. UNC-Pahts are not supported. Instead of that was the Windows Directory as actual Directory set.
Если я выполняю сценарий локально, он работает нормально.
Как я могу позволить этому работать?
Я предлагаю вам изменить оба экземпляра %%~G на %%~nxG, поскольку вы уже находитесь в каталоге, поэтому не нужно использовать полный путь!
Что вас смущает в сообщении об ошибке?





Как сказал Squashman, вы можете запустить командный файл с пути UNC, но cmd.exe не может их обработать, поэтому каталог Windows будет использоваться в качестве текущего пути.
Можно получить доступ к исходному начальному UNC-пути с помощью %~dp0.
Вы можете использовать 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"
Как вы выполняете сценарий? Похоже, вы пытаетесь вызвать
cmd.exeиз пути UNC ... возможно, из результата содержимогоINF.txt. Покажите образцы содержимогоINF.txtиRES.txt, пожалуйста.