【发布时间】:2015-11-24 11:00:57
【问题描述】:
我想计算给定目录中每个文本文件的行数并将它们存储在一个变量中。
这是我的代码:
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /R "temp\textpipe_tmp\" %%U in (*.txt) DO (
set "cmd=findstr /R /N "^^" "%%U" | find /C ":""
for /f %%a in ('!cmd!') do set number=%%a
echo %number%
)
:eof
pause
我不确定为什么它不起作用,但如果我摆脱 SET,它会起作用:
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /R "temp\textpipe_tmp\" %%U in (*.txt) DO (
findstr /R /N "^" "%%U" | find /C ":"
)
:eof
pause
我需要将结果存储在一个变量中。
【问题讨论】:
-
更简单快捷的方法:
find /v /c "" filename.ext,见an example。还有延迟扩展使用!number!,而不是%number% -
谢谢。延迟扩张的事情是罪魁祸首。
标签: windows batch-file cmd