Batch file 对文件的批写入返回的ECHO已关闭

Batch file 对文件的批写入返回的ECHO已关闭,batch-file,Batch File,这在我身上从未发生过,我也不明白为什么 我使用此代码从文本文件中设置了一个变量: set Drive=E for /f "Delims=" %%a in (%Drive%:\Data\TestAttempt.txt) do ( set TEST=%%a ) cd %Drive%:\Data echo %TEST%> TestAttempt.txt 然后我尝试将+1添加到%TEST%: set /A TEST=TEST+1 最后,我尝试将新变量放入同一个文本文件中: set Drive

这在我身上从未发生过,我也不明白为什么

我使用此代码从文本文件中设置了一个变量:

set Drive=E
for /f "Delims=" %%a in (%Drive%:\Data\TestAttempt.txt) do (
set TEST=%%a
)
cd %Drive%:\Data
echo %TEST%> TestAttempt.txt
然后我尝试将+1添加到%TEST%:

set /A TEST=TEST+1
最后,我尝试将新变量放入同一个文本文件中:

set Drive=E
for /f "Delims=" %%a in (%Drive%:\Data\TestAttempt.txt) do (
set TEST=%%a
)
cd %Drive%:\Data
echo %TEST%> TestAttempt.txt
它以前工作过,现在我不工作了。我不明白为什么。。。它仍然返回ECHO已关闭。在testettempt.txt文件中。应该是2

我已尝试在%TEST%和>之间创建一个空格,但无法使用+1

谢谢……)

变化

echo %TEST%> TestAttempt.txt

重定向器重定向该设备前的一个数字#(0=stdin,1=stdout,2=stderr)

因此,您的代码减少为
echo
,它报告
echo
状态(打开或关闭)

echo(%PotentialyEmptyVar%
如果
PotentialyEmptyVar
确实为空,则会生成一个空行。

更改

echo %TEST%> TestAttempt.txt

重定向器重定向该设备前的一个数字#(0=stdin,1=stdout,2=stderr)

因此,您的代码减少为
echo
,它报告
echo
状态(打开或关闭)


echo(%PotentialyEmptyVar%
如果
PotentialyEmptyVar
确实为空,则将生成一个空行。

我使用
设置/a测试+=1
如果回音在cho位于do的括号内。您需要延迟扩展才能获得当前值,而不是解析时间值。请参阅