Я написал следующий пакетный скрипт, который запускает другой пакетный скрипт в каталоге или, с добавлением флага, в дереве каталогов, а затем на эквивалентном каталог или дерево каталогов на другом диске (Z :). Независимо от того, какой вариант я выбираю, он выдает ошибку «Система не может найти указанный путь». Он делает то, что предполагается, если я делаю это только в одном каталоге, даже если он дает ошибку. Он не работает успешно в дереве каталогов. Я запустил его без @echo, чтобы попытаться понять, где его неудача, без успеха. Каталог, который он пытается изменить, существует.Сбой пакетного скрипта: «Система не может найти указанный путь»
@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», и это поможет вам понять, какая строка приводит к «Системе не удается найти указанный путь». – rojo
Почему, по вашему мнению, ошибка в этом скрипте, а не ваш «myotherscript»? – dbenham
Ну, я запускал «myotherscript» самостоятельно и не имел проблем. Поэтому, если есть что-то о взаимодействии между ними, я не понимаю, как это может быть. Я добавлю его к исходному вопросу. – ZackG