将批处理变量保存在文本文件中

Joe*_*ark 6 variables batch-file save io-redirection

我试图将批处理变量保存到文本文件中.我目前有这个代码:

@echo off

Set var=6
@echo %var%>txt.txt

For /f "tokens*" %%i in (txt.txt) do @echo %%i
Pause
Run Code Online (Sandbox Code Playgroud)

它应该将6保存到变量var中,然后将变量写入文本文件中.我想这样做是为了将用户输入保存到文本文件中,这样当批处理程序终止时它将保存变量.

Ste*_*han 12

重定向有一点问题.您正在重定向"流"; 它们编号为0-9.0表示"标准输入"(STDIN),1表示"标准输出"(STDOUT),2表示"错误输出"(STDERR).

如果使用>没有流编号的重定向符号,则默认为"1".

所以echo text>txt.txt只是一个缩影echo text 1>txt.txt

现在它变得棘手:echo 6>txt.txt不会向文件回显"6",但会尝试将"Stream 6"(空的)重定向到文件.标准输出echo is off进入屏幕,因为"Stream1"未重定向.

解:

如果您尝试重定向以数字结尾的数字或字符串,只需使用不同的语法:

>txt.txt echo 6
Run Code Online (Sandbox Code Playgroud)