首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >呼叫批处理多次

问呼叫批处理多次
EN

Stack Overflow用户
提问于 2015-02-18 01:30:37
回答 1查看 350关注 0票数 0

我有一个问题需要批量使用"call“命令:

如果我有这样的事情:打电话给Receive.bat

然后在后面的代码中:调用Receive.bat gtg

在Receive.bat中,我“呼应”它。会不会是: echo &1 (表示"hi"),然后是: echo %2 (表示"gtg")?

这就是我得到的:

代码语言:javascript
复制
@echo off
set /p Mood=:
call Receive.bat %Mood%
*Random stuff*
set /p Food=:
call receive.bat %Food%

然后在Receive.bat中:

代码语言:javascript
复制
@echo off
echo %1 <-- for Mood
pause
*Random Stuff*
echo %2 <-- for Food
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-18 06:15:58

如果我对您的要求有正确的理解,下面的批处理文件应该做您想做的事情。

Main.bat

代码语言:javascript
复制
@echo off
set "CallCount=0"
set "Mood="
set /P "Mood=Your mood is: "
call Receive.bat "%Mood%"
rem *Random stuff*
set "Food="
set /P "Food=The food you want is: "
call Receive.bat "%Food%"
set "CallCount="

Receive.bat

代码语言:javascript
复制
set /A CallCount+=1
if "CallCount"=="2" goto Call2
if not "%~1"=="" echo %~1
rem *Random Stuff*
goto :EOF
:Call2
if not "%~1"=="" echo %~1
rem Commands for second call.

候补Receive.bat

代码语言:javascript
复制
set /A CallCount+=1
goto Call%CallCount%
:Call1
if not "%~1"=="" echo %~1
rem *Random Stuff*
goto :EOF
:Call2
if not "%~1"=="" echo %~1
rem Commands for second call.
goto :EOF
:Call3
if not "%~1"=="" echo %~1
rem Commands for third call.
goto :EOF
:Call4
if not "%~1"=="" echo %~1
rem Commands for fourth call.
goto :EOF
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28574422

复制
相关文章

相似问题

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