我正在寻找可以使用指令对文件夹和子文件夹中的文件进行计数的批处理或任何类型的脚本(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
该子文件夹的每个任务文件夹里面去文件。
我知道这太过复杂了,如果有人能做到这一点,我将非常高兴!
问候。
这将在脚本所在目录的子目录中收集所有mp4文件,然后过滤掉不在名为“ mp4”的子目录中的所有文件。
该$PSScriptRoot
自动变量是脚本从开始的目录。将其拖放到您要使用的目录中,它将按照您的描述进行操作...在脚本所在目录的mp4子目录中获取mp4文件的文件计数。
如果您希望能够从任何位置运行脚本并为其提供目标目录,则需要为此设置参数。[咧嘴]
$Filter = '*.mp4'
$StartInDir = $PSScriptRoot
$TargetSubDir = 'mp4'
$MP4_FileCount = @(Get-ChildItem -LiteralPath $StartInDir -Filter $Filter -File -Recurse |
Where-Object {
$_.Directory.Name -eq $TargetSubDir
}).Count
$MP4_FileCount
pause
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句