我已经编写了以下批处理脚本,该脚本在目录上运行另一批处理脚本,或者在目录树上添加一个标记,然后在等效目录或目录树在不同的驱动器上(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 2013-03-01 16:35:16
为什么你认为这个错误是在这个脚本中,而不是你的“myotherscript”? – dbenham 2013-03-01 18:59:22
那么,我已经独立运行“myotherscript”,并没有问题。所以除非两者之间存在相互作用,否则我不会看到它会如何。我会将其添加到原始问题。 – ZackG 2013-03-01 20:35:42