這個問題在這里已經有了答案: Windows 批處理:echo without new line (20 個回答) 14 小時前關閉。
我有以下代碼通過將變數回顯到檔案中來讀取變數的長度,而不是讀取檔案長度:
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 時,有一個額外的行,我相信這就是導致問題的原因。我該如何解決?謝謝!
uj5u.com熱心網友回復:
我相信這就是你要找的:
echo | set /p="%scor%" > scorfile.txt
FOR %%? IN (scorfile.txt) DO ( SET /A scorlength=%%~z? )
if %scorlength%==12 set /a scorlength=1
del /Q scorfile.txt
echo %scorlength%
pause
修改了第一行和第二行。第一個修改從輸出中洗掉換行符,第二個修改洗掉了- 2您擁有的等式的一部分,因為我假設您最初使用它是為了試圖補償換行符計數問題。
希望這能解決您的問題!
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/375388.html
