Batch file 用户在批处理文件中输入默认值

Batch file 用户在批处理文件中输入默认值,batch-file,user-input,Batch File,User Input,我试图用默认值提示用户在批处理文件中输入(以防用户不输入) 我正在尝试如下所示: 所需默认值:1到头部 set rev1=1 set rev2=HEAD set /p rev1="start rev: default is %rev1% " set /p rev2="end rev: default is %rev2% " 但是,提示显示的是start rev:default为,而不是start rev:default为1 请帮助。我已尝试将c&p您的代码写入bat文件,输出为start re

我试图用默认值提示用户在批处理文件中输入(以防用户不输入)

我正在尝试如下所示: 所需默认值:1到头部

set rev1=1
set rev2=HEAD
set /p rev1="start rev: default is %rev1% "
set /p rev2="end rev: default is %rev2% "
但是,提示显示的是
start rev:default为
,而不是
start rev:default为1


请帮助。

我已尝试将c&p您的代码写入bat文件,输出为
start rev:default为1
。我猜您只发布了一段代码,而这部分代码位于IF或FOR块中。在这种情况下,您应该在脚本开头添加
setlocalenabledelayedexpansion
,并使用
访问rev1和rev2!rev1
!rev2而不是
%rev1%
%rev2%

如果发布的代码放在括号之间(
如果
对于
,…),那么可能会有帮助。并将左下的第一个双引号放在
rev1
rev2
后面,而不是等号后面。这是一个常见的错误,在堆栈溢出批处理文件相关主题中解释了数百次。是的,它位于IF块中,您的解决方案有效。非常感谢。