我有一个批处理文件,可以调用另一个。我读到在这种情况下使用了call
命令。虽然出现错误消息:
系统找不到指定的路径。
路径没有错100%肯定。这是调用者run.bat
@echo off
call xslt\projects\asp-bus\implementation\batch\ant-start.bat
pause
这就是所谓的ant-start.bat
set ant="../../../../infrastucture/apache-ant-1.10.0/bin/ant.bat"
call %ant%
pause
答案 0 :(得分:0)
在每个批处理文件中,路径相对于运行批处理文件的工作文件夹,而不是包含批处理文件本身的文件夹。您需要使用绝对路径(例如,以String s;
if(s != null && (!s.isEmpty())){
Integer i = s.ParseInt();
}
开头),或者确保从相对路径有意义的工作文件夹运行每个批处理文件时。
如果从Windows快捷方式启动C:\
,则可以从快捷方式的“属性”对话框中设置“开始”文件夹。调用run.bat
时,它将从与ant-start.bat
相同的文件夹中运行。
要解决此问题,您可能需要将run.bat
更改为
ant-start.bat
或者,您可以在其中一个批处理文件中放置set ant="infrastucture/apache-ant-1.10.0/bin/ant.bat"
call %ant%
pause
命令,以强制它使用适当的工作文件夹。
请记住,如果您将cd
变量设置为上述相对路径,则使用该变量仅适用于相对路径有意义的文件夹。