Я написал следующий пакетный сценарий, который запускает другой пакетный сценарий в каталоге или, с добавлением флага, в дереве каталогов, а затем в эквивалентном каталоге или дереве каталогов на другом диске (Z :). Независимо от того, какой вариант я выберу, он выдает ошибку «Система не может найти указанный путь». Он делает то, что должен, если я делаю это только в одном каталоге, даже если он выдает ошибку. Он не работает успешно в дереве каталогов. Я запустил его без @echo off, чтобы попытаться понять, где он не работает, но безуспешно. Каталог, в который он пытается перейти, существует.
@echo off
set origdir=%CD%
if X%~f1==X (
echo Please input a directory.
goto done
)
chdir /d %~f1
for %%X in (myotherscript.bat) do (set FOUND=%%~$PATH:X)
if not defined FOUND (
echo myotherscript is not in your PATH
)
if X%2==X/R (
goto recursive
) else ( goto single )
:recursive
for /d /r %%G in (.) do call myotherscript
echo Z:%~p1
chdir /d "Z:%~p1"
for /d /r %%G in (.) do call myotherscript
goto ended
:single
call myotherscript
echo Z:%~p1
chdir /d "Z:%~p1"
call myotherscript
goto ended
:ended
chdir /d origdir
goto done
:done
pause
Вот "myotherscript" Да, чистка есть.
@echo off
if exist "D:\path\to\purge.bat" (
call purge
for %%f in (*.log.*) do call :renameit "%%f"
for %%f in (*.drw.*) do call :renameit "%%f"
for %%f in (*.asm.*) do call :renameit "%%f"
for %%f in (*.prt.*) do call :renameit "%%f"
goto done ) else (
echo Purge does not exist.
goto done )
:renameit
ren %1 *.1
:done
Любая помощь будет оценена по достоинству. Спасибо
@echo off
, и это должно помочь вам выяснить, какая строка приводит к тому, что система не может найти указанный путь. - person rojo   schedule 01.03.2013purge.bat
. Вы проверили, что ошибка возникает не из этого командного файла? Кстати, при его вызове вы не используете полный путь. - person Andriy M   schedule 02.03.2013purge.bat
(и, конечно, не в самой командеcall purge
, потому что она выдала бы другое сообщение, если бы не удалось найтиpurge.bat
). Однако вы уже пробовали использовать метод, предложенный @rojo, чтобы найти причину проблемы? - person Andriy M   schedule 02.03.2013@echo off
. Вы также можете прокомментировать это, чтобы более точно определить причину нарушения. - person Andriy M   schedule 03.03.2013chdir /d %origdir%
? Совершенно уверен, что%
необходимы. - person David Wohlferd   schedule 05.04.2018