首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从批处理脚本中运行批处理脚本?

如何从批处理脚本中运行批处理脚本?
EN

Stack Overflow用户
提问于 2011-01-26 05:12:29
回答 8查看 257.2K关注 0票数 109

如何从批处理脚本中调用另一个批处理脚本?

我希望它在if语句中执行。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2011-01-26 05:20:10

使用CALL,如下所示

代码语言:javascript
复制
CALL nameOfOtherFile.bat

这将阻止(暂停)当前批处理文件的执行,并将一直等到CALLed的批处理文件完成。

如果您不想阻止它,请改用START

在cmd提示符下使用CALL /?START /?获取详细信息。

票数 240
EN

Stack Overflow用户

发布于 2011-01-26 05:23:37

您可以只按名称调用批处理脚本,就像在命令行上运行一样。

因此,假设您有一个名为echo This is bar.bat!的文件bar.bat,并且您想要从文件foo.bat中调用它,您可以用foo.bat编写以下代码

代码语言:javascript
复制
if "%1"=="blah" bar

从命令行运行foo blah,您将看到:

代码语言:javascript
复制
C:\>foo blah

C:\>if "blah" == "blah" bar

C:\>echo This is bar.bat!
This is bar.bat!

但要注意:当您从另一个批处理脚本调用批处理脚本时,原始批处理脚本将停止运行。如果要运行辅助批处理脚本,然后返回到前一个批处理脚本,则必须使用call命令。例如:

代码语言:javascript
复制
if "%1"=="blah" call bar
echo That's all for foo.bat!

如果你在上面运行foo blah,你会看到:

代码语言:javascript
复制
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!
票数 25
EN

Stack Overflow用户

发布于 2011-01-26 05:18:24

你应该使用CALL

代码语言:javascript
复制
CALL batch.bat
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4798879

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档