编程设置/ p输入

时间:2012-07-13 08:28:04

标签: batch-file

我有两个脚本。第一个脚本要求用户输入一些输入并调用另一个脚本,并将输入作为参数。第二个脚本再次要求用户输入相同的内容。

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

2 个答案:

答案 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

下面