我想要的是一个适用于Windows 7,8.1和10的命令(或一系列命令)。它需要在执行批处理文件的过程中随时收集用户输入,仅用于检查和解释后来。我不介意使用输入文本文件。
我已经搜索了一个答案,但我最接近它的是<nul set /p "input="
,但它要求用户按一个键并在命令运行的确切时刻按Enter键。任何帮助将不胜感激。
答案 0 :(得分:0)
此方法利用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