Batch file 当用户不使用';不要给它一个新的
我正在尝试批量制作一个程序。 作为该程序的一部分,用户必须输入一个介于1和5之间的数字 但是,如果他没有输入任何内容,程序将接受该变量的旧值(在他第一次输入后),即使我再次将其设置为0(程序处于循环中) 以下是该部分程序的一个示例: ps:在这种情况下,我手动设置为0,因此它会循环Batch file 当用户不使用';不要给它一个新的,batch-file,Batch File,我正在尝试批量制作一个程序。 作为该程序的一部分,用户必须输入一个介于1和5之间的数字 但是,如果他没有输入任何内容,程序将接受该变量的旧值(在他第一次输入后),即使我再次将其设置为0(程序处于循环中) 以下是该部分程序的一个示例: ps:在这种情况下,我手动设置为0,因此它会循环 @echo off goto bla :bla set /p a="a: " if "%a%"=="" ( goto bla ) echo a= %a% set /p b="b: " if "%b%"=="
@echo off
goto bla
:bla
set /p a="a: "
if "%a%"=="" (
goto bla
)
echo a= %a%
set /p b="b: "
if "%b%"=="0" (
goto bla
)
pause
如果用户只需按Enter键,那么变量将保持不变 如果先
将变量设置为空,然后执行设置/p
,则可以检测到该情况
set "var="
set /p "var=promptstring "
if not defined var echo nothing entered
这可用于应用默认值:
set "var=37"
set /p "var=promptstring [%var%]"
if not defined var echo nothing entered
echo %var%
(在提示中显示默认值(37))