视窗
我的批处理文件运行一个有几行输出的命令。如何在不写入磁盘的情况下计算(并存储在变量中)输出行?
dir | find /v /c "zzzxxx"
给出行数
这是一个示例脚本,它将计算dir
命令输出中的行数。
@echo off
setlocal enabledelayedexpansion
set lc=0
for /f "usebackq delims=_" %%i in (`dir`) do (
echo %%i
set /a lc=!lc! + 1
)
echo %lc%
endlocal
您可以dir
用您的命令替换,您可以使用引号并指定参数。您将不得不转义其他一些字符-^
和.|
<
>
&
如果您不仅需要计算行数,还需要解析每一行,则可能必须将标记分隔符从_
(如我在示例中使用的)更改为不会导致行拆分为多个标记的其他内容。
当您使用它时,您还可以下载适用于 Windows 的GNU 软件包(coreutils)并使用 wc 工具:例如
dir | wc -l