我正在寻找可以使用指令从文件夹和子文件夹中计算文件数量的批处理或任何类型的脚本(CMD/POWERSHELL)。
我的文件结构是:
C:\Users\XXX\Desktop\TASK\YEAR-MONTH\TaskID\MP4
我需要计算每个MP4
文件夹中的文件。我尝试了一些我发现的脚本,但没有任何帮助,因为它计算.mp4
了每个子文件夹中的每个脚本,而这不是我要找的数字。
我正在使用的当前脚本:
dir /b *.mp4 /s 2> nul | find "" /v /c > tmp && set /p count=<tmp && del tmp && echo Videos Found: %count%
批处理文件应放在 YEAR-MONTH 文件夹中,并计算 TaskID 文件夹内 MP4 子文件夹中的所有内容。
注意:有 100 多个 TASKID(实际情况task id
实际上是task id: 3130
)结构(3130/mp4/
)<-我需要计算.mp4
每个任务文件夹中的这个子文件夹中的文件。
我知道这太复杂了,如果有人能解决这个问题,我会很高兴!
问候。
单行 PowewrShell 脚本:
在批处理文件中处理其他命令输出的正确方法是
包装在一个
for /f
不使用的 tmp 文件中。这将收集脚本所在目录的子目录中的所有 mp4 文件......然后过滤掉任何不在名为“mp4”的子目录中的文件。
$PSScriptRoot
自动变量是脚本启动的目录。将其放入您要使用的目录中,它将按照您的描述进行操作...在脚本所在目录的 mp4 子目录中获取 mp4 文件的文件数。如果您希望能够从任何位置运行脚本并为其提供目标目录,则需要为此设置一个参数。[咧嘴笑]