使用批处理文件写入数据

时间:2017-10-08 14:25:34

标签: batch-file

所以我正在使用" @ echo"命令批量写入数据文件。

" @echo set value =%userinput%>> test2.bat"

这样做的想法是创建一个名为test2.bat的批处理文件,该文件有1行文本,应该是" set value =%userinput%"用户输入是用户键入的内容。问题是,当每个用户输入的只有一个数字,例如1,2,3等等时,该命令不会起作用。如果我把1变为10,那么命令可以工作,但是如果我选择1到9之间的任何东西,它就会以它应该的方式工作。有人可以向我解释原因吗?并建议解决?

2 个答案:

答案 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