我想使用follow line命令从文件中获取行数,但显示以下错误:
行命令:
for /f %%i in ('find /v /c "" ^< someFile.txt') do set /a lines=%%i print lines
错误:
%%i was unexpected at this time.
有人可以告诉我代码中有什么不好,或者告诉我其他代码来获取文件中的行数吗?
答案 0 :(得分:4)
除了该行中多余的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
将无法完成任何操作。
答案 1 :(得分:0)
set /a
用于数学计算(set /a x=1+1
)
为我删除/工作:
for /f %%i in ('find /v /c "" ^< someFile.txt') do set lines=%%i print lines
echo %lines%
答案 2 :(得分:-1)
这有效:
find /v /c "Some text that won't be in any file" somefile.txt