我需要计算Windows 10目录中.txt
个文件的数量。
我从以下代码开始batch-file:
@ECHO OFF
for %%f in (*.*) do echo %%f
有人知道我该怎么做吗?
答案 0 :(得分:1)
该方法很可能取决于脚本的其余部分;但仅是一个问题。
最简单的方法可能是同时使用where.exe
和find.exe
:
Where .:*.txt 2>Nul|Find /C /V ""
如果希望将计数保存为变量的值内容,则可以使用包含For /F
或where.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