我有两个脚本。第一个脚本要求用户输入一些输入并调用另一个脚本,并将输入作为参数。第二个脚本再次要求用户输入相同的内容。
first.bat
set /p input=Insert your input:
call second.bat %input%
second.bat
if %1 == "Y" input=%1 & goto skipInput
set /p input=Insert the same input:
:skipInput
echo Skipped user input
是否可以在没有用户按下相同输入值的情况下使用第一个输入值设置第二个用户输入?问题是 second.bat 中的set /p
无法像上面的示例一样跳过。
更新解决方案:
first.bat
set /p input=Insert your input:
echo %input% | (cd path/to/file & second.bat)
echo %input% | (cd path/to/file & second.bat)
pause >nul
答案 0 :(得分:2)
我不是百分之百确定你要做什么,但也许这个
First.bat
set /p input=Insert your input:
call second.bat %input%
Second.bat
if %1=="Y" set input=%1
这会将第二个脚本中的变量input
设置为第一个脚本中的input
值。
的更新强> 的
如果您只能访问调用其他批次的初始批次,请尝试使用
@echo off
set /p input=Insert your input:
echo %input%| second.bat
pause >nul
运行之后,我设法在第二批中获得提示,该提示只需要使用管道重定向填充set /p
行。
答案 1 :(得分:0)
:first.bat
cls
set /p input=Enter input.
if "%input%" equ "" goto first.bat
call seccond.bat %input%
这里发生的事情是,如果用户的输入等于“NULL”,则返回到开头。
:seccond.bat
cls
set input=%*
if /i "%input%" equ "Y" do command
将您的代码放在SECOND.bat
下面