【发布时间】:2022-01-12 02:19:28
【问题描述】:
我有以下代码通过将变量回显到文件中来读取变量的长度,而不是读取文件长度:
echo %scor% > scorfile.txt
FOR %%? IN (scorfile.txt) DO ( SET /A scorlength=%%~z? - 2 )
if %scorlength%==12 set /a scorlength=1
del /Q scorfile.txt
echo %scorlength%
pause
它认为变量是一个额外的字符,当我打开 scorfile.txt 时,有一个额外的行,我相信这就是导致问题的原因。我该如何解决?谢谢!
【问题讨论】:
-
@WeeTomatoBall,
echo %scor% > scorfile.txt是echoing%scor%[space]到文件。那个空间显然是一个额外的字符!使用>scorfile.txt echo %scor%,或者最好使用(echo %scor%) 1>"scorfile.txt"
标签: file batch-file echo