计算目录中.txt文件的数量

时间:2019-04-10 17:40:53

标签: batch-file

我需要计算Windows 10目录中.txt个文件的数量。

我从以下代码开始

@ECHO OFF
for %%f in (*.*) do echo %%f

有人知道我该怎么做吗?

1 个答案:

答案 0 :(得分:1)

该方法很可能取决于脚本的其余部分;但仅是一个问题。

最简单的方法可能是同时使用where.exefind.exe

Where .:*.txt 2>Nul|Find /C /V ""

如果希望将计数保存为变量的值内容,则可以使用包含For /Fwhere.exe命令的Dir循环。但是请注意,在标准For循环For %%A In (*.txt)和使用Dir命令时,Dir *.txt,则返回以.txt开头的文件扩展名,而不是以.txt返回的以where.exe结尾的文件扩展名。为了解决这个问题,在我的Dir版本中,我通过findstr.exe通过管道传输结果,以确保仅计算.txt个文件:

Where方法:

@Echo Off
Set "#=0"
For /F %%A In ('"Where .:*.txt 2>Nul|Find /C /V """')Do Set "#=%%A"
Echo(%#%
Pause

Dir方法:

@Echo Off
Set "#=0"
For /F %%A In ('"Dir/B/A-D-L *.txt 2>Nul|FindStr/I "txt$"|Find /C /V """'
)Do Set "#=%%A"
Echo(%#%
Pause