我有一个批处理文件,应该调用另一个批处理文件。我看到在本例中使用了call
命令。尽管出现了错误消息:
系统找不到指定的路径。
路径是没有错的,百分之百肯定。这是调用方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
发布于 2017-01-31 11:41:33
在每个批处理文件中,路径相对于正在运行批处理文件的工作文件夹,而不是包含批处理文件本身的文件夹。您需要使用绝对路径(例如,从C:\
开始),或者确保当每个批处理文件从相对路径有意义的工作文件夹运行时。
如果您要从Windows快捷方式启动run.bat
,可以从快捷方式的属性对话框中设置"Start In“文件夹。当调用ant-start.bat
时,它将从与run.bat
相同的文件夹中运行。
要解决这个问题,您可能需要将ant-start.bat
更改为
set ant="infrastucture/apache-ant-1.10.0/bin/ant.bat"
call %ant%
pause
或者,您可以在其中一个批处理文件中放置一个cd
命令,以强制它使用适当的工作文件夹。
请记住,如果您像上面一样将%ant%
变量设置为相对路径,那么使用该变量只会在该相对路径有意义的文件夹中工作。
https://stackoverflow.com/questions/41956178
复制相似问题