如何从批处理脚本中运行批处理脚本?
使用CALL
在
CALL nameOfOtherFile.bat
这将阻止(暂停)当前批处理文件的执行,并且它将一直等待,直到CALL
ed完成为止。
如果您不希望它阻止,请改用START
。
从cmd提示符处使用3210或START /?
获取基本细节。
+一个用于详细说明CALL/START – 2017-05-10 15:25:08
您可以使用
call script.bat
或只是
script.bat
如果您在脚本中直接调用另一个脚本,万一被调用脚本中的任何命令返回非零值(错误),被调用脚本也将停止执行,在使用`call`的情况下,它将继续执行即使在被调用的脚本中有错误。 – 2017-10-24 08:27:11
您应该使用CALL
CALL batch.bat
这里是例子:
你有a.bat:
@echo off
echo "This is b.bat"
你可以只调用批处理脚本:
@echo off
if exist b.bat goto RUNB
goto END
:RUNB
b.bat
:END
和b.bat从a.bat有条件调用按名称,就好像你在命令行上运行一样。
因此,假设你有一个文件bar.bat
,说echo This is bar.bat!
,你想从一个文件foo.bat
调用它,你可以在foo.bat
这样写:命令行
if "%1"=="blah" bar
运行foo blah
,和你”拭目以待:
C:\>foo blah
C:\>if "blah" == "blah" bar
C:\>echo This is bar.bat!
This is bar.bat!
但要注意:当你调用从另一个批处理脚本批处理脚本,原批离谱pt将停止运行。如果要运行辅助批处理脚本,然后返回到以前的批处理脚本,则必须使用call
命令。例如:
if "%1"=="blah" call bar
echo That's all for foo.bat!
如果运行上foo blah
,你会看到:
C:\>foo blah
C:\>if "blah" == "blah" call bar
C:\>echo This is bar.bat!
This is bar.bat!
C:\>echo That's all for foo.bat!
That's all for foo.bat!
没有ü尝试远程运行..........发生了什么事,以同样的事情如是? – pkm 2013-11-25 13:38:08