我编写了一个批处理文件,但我是新手for-loops
,我需要它。
我现在知道语法是如何工作的,但我无法弄清楚为什么我的循环没有做它应该做的事情。
此代码是我文件的摘录:
@echo off & setlocal enabledelayedexpansion
set /p file=:
set /a numberofgoals=0
for /f "delims=" %%a in ("%file%.txt") do set /a "numberofgoals+=1"
echo %numberofgoals%
pause > nul
如果我做对了所有事情,我的输出应该是指定文本文件的长度,并且它以前对我有用,但显然我在代码中更改了一些我不确定的内容,并且%numberofgoals%
现在的输出每次都恰好为 1,不管如何我的文本文件很长。
我的问题是:我做错了什么,为什么现在输出 1?我什至不记得在那里改变了一些东西......
编辑:我按照建议更改"delims="
了"usebackq delims="
,现在可以使用了,谢谢。