所以我正在使用" @ echo"命令批量写入数据文件。
" @echo set value =%userinput%>> test2.bat"
这样做的想法是创建一个名为test2.bat的批处理文件,该文件有1行文本,应该是" set value =%userinput%"用户输入是用户键入的内容。问题是,当每个用户输入的只有一个数字,例如1,2,3等等时,该命令不会起作用。如果我把1变为10,那么命令可以工作,但是如果我选择1到9之间的任何东西,它就会以它应该的方式工作。有人可以向我解释原因吗?并建议解决?
答案 0 :(得分:0)
>> test2.bat echo set value=%userinput%
重定向器直接重定向该设备编号之前的数字(0 = stdin,1 = stdout,2 = stderr,3-9 undefined)
如果您希望文件中的完全一行,请使用>
。 >>
附加任何现有数据; >
重新创建文件。
除非您希望文件中的文字%
,否则应使用%%
代替您正在使用的每个文字%
。 %var%
评估var
,%%var%%
将文字%var%
放置,因为%
“逃脱”%
答案 1 :(得分:0)
由于重定向符号的格式为1>
& 2>
您的输出正在吃那些输入数字。我认为将echo命令包装到括号中更容易,以防止它而不是在行的开头放置重定向符号。
@(echo set value=%userinput%)>>test2.bat