如何避免在批处理输出文件中显示文件名?

如何避免在批处理输出文件中显示文件名?

我正在运行命令,

Find /C /I "pass" "log.txt" > output.txt

输出得到,

---------- LOG.TXT: 2

得到这个输出是因为文件中出现了两次单词“pass” log.txt

预期产出,

2

我不想将文件名包含在输出文件中。我只需要计数。我记得有个叫做 /NoLogo 的命令可以使用,但是不知道确切的命令或在哪里使用它。请帮帮我。

答案1

两种在输出中省略文件名的方法find命令在获取行匹配数时无需循环和使用分隔符等。。。

1. 通过将文件重定向到 find 命令,使用以下方法搜索其行命令重定向例如command < filename

  Find /C /I "pass" < output.txt

2. 使用类型命令针对文件,然后将其通过管道传递给find命令以使用该方法命令重定向

 type output.txt | Find /C /I "pass"

示例输出(两行匹配)

2

支持资源

答案2

可能是这样的:

@echo off
for /f "tokens=2 Delims=:" %%a in ('Find /C /I "pass" "log.txt"') do for /f %%b in ("%%a") do echo %%b>output.txt

相关内容