调用批处理文件报告:"系统找不到指定的路径"

时间:2017-01-31 11:16:11

标签: batch-file

我有一个批处理文件,可以调用另一个。我读到在这种情况下使用了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

1 个答案:

答案 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变量设置为上述相对路径,则使用该变量仅适用于相对路径有意义的文件夹。