文件中的行数

我想使用follow line命令从文件中获取行数,但是显示以下错误:

行命令:

for /f %%i in ('find /v /c "" ^< someFile.txt') do set /a lines=%%i print lines 

错误:

 %%i was unexpected at this time. 

有人可以告诉我什么是坏的代码,或者告诉我其他代码获取文件的行数?

除了这条线上多余的print lines ,它应该工作。 但请注意,您不能直接在命令行上执行该行。 %符号加倍用于批处理文件。 因此,请将以下行放入批处理文件中:

 for /f %%i in ('find /v /c "" ^< someFile.txt') do set /a lines=%%i 

或直接在命令行上执行以下行:

 for /f %i in ('find /v /c "" ^< someFile.txt') do set /a lines=%i 

正如Anders所指出的那样, /a并不是必须的。 但是,它不会破坏那里的任何东西。 您的问题实际上是您尝试直接在命令行上执行该行。 删除/a将无法完成任何事情。

set /a是数学计算( set /ax=1+1

只是删除/一个为我工作:

 for /f %%i in ('find /v /c "" ^< someFile.txt') do set lines=%%i print lines echo %lines% 

这工作:

 find /v /c "Some text that won't be in any file" somefile.txt