我想使用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