0

我有一个批处理文件的部分暂停并等待用户按下一个键。

但是,如果我希望能够在批处理文件按照我自己的意愿运行时暂停它怎么办?

批处理文件创建一个用户输入变量:

SET /P userInput= enter something here

在此过程的后期,我可能想要更新该用户变量。但这将是在意想不到的时候。

我可以中断批处理文件过程,然后更新变量,而不停止或关闭整个批处理过程吗?

基本上,这个想法是批处理文件正在创建唯一的文件名,有时我需要更新它的命名结构。能够停止程序并更改该变量会很棒。

所以程序开始:

Set /p userInput : something entered

does stuff..
does stuff..

//User hits  a key and program pauses
//prompt for userInput variable again:

Set /p userInput : something new

// then continue as normal

does stuff..
does stuff..

ETC..

也许可以在批处理作为另一个选项运行时通过键盘按下调用子程序?

谢谢阅读!!

4

1 回答 1

1

下面的批处理文件完全符合您的要求:

@echo off
setlocal
if "%1" neq "" goto %1

SET /P userInput= enter something here

echo Start batch
del flagFile.txt 2> NUL
"%~F0" Input | "%~F0" Process
echo End batch
goto :EOF


:Input
rem Wait for any key
pause > NUL
rem Get the new value
cd . > flagFile.txt
set /P "userInput=Enter new value: " > CON
echo %userInput%
goto Input


:Process
echo Current value: %userInput%
ping localhost -n 2 > NUL
if not exist flagFile.txt goto Process
set /P "userInput="
del flagFile.txt
goto Process

请注意,您没有说明该过程如何结束,因此我将在您描述这一点后立即添加此类部分...

于 2015-11-23T23:51:56.243 回答