batch file:在执行其他命令期间获取用户input,然后稍后检查

我想要的是一个与Windows 7,8.1和10一起工作的命令(或一系列命令)。它需要在执行batch file的过程中随时收集用户input,以后再进行检查和解释。 我不介意使用input文本文件。

我已经search了一个答案,但是最接近我的是<nul set /p "input=" ,但是它要求用户按下一个键,并在命令运行的那一刻点击回车。 任何帮助将不胜感激。

Solutions Collecting From Web of "batch file:在执行其他命令期间获取用户input,然后稍后检查"

这个方法利用GOTO创建一个循环,每6秒钟检查一次input.txt的第一行。 你可以用任何你想要的东西替换:DOSTUFF的内容。 如果你有问题,请告诉我。

 @echo off GOTO DOSTUFF :CHECKINPUT for /f %%a in (input.txt) do ( if %%a NEQ "" ( set "input=%%a" GOTO GOTINPUT ) exit /b ) GOTO DOSTUFF :GOTINPUT echo Thanks for the input! echo Here is what you entered: echo %input% GOTO ENDER :DOSTUFF echo I could be doing other things here, but instead I'm just waiting for input... PING 127.0.0.1 -n 6 >nul GOTO CHECKINPUT :ENDER pause 

当它在一个窗口中运行时,我只是在另一个命令提示符下运行echo test>input.txt

为了使其更健壮,您可能需要在检查文件后覆盖文件。 这可以通过echo.>input.txt轻松完成