Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 当用户不使用';不要给它一个新的_Batch File - Fatal编程技术网

Batch file 当用户不使用';不要给它一个新的

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%"=="

我正在尝试批量制作一个程序。 作为该程序的一部分,用户必须输入一个介于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%"=="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))