我有一个大帧序列,每个剪辑分为 245 帧,每个片段的前 5 帧需要删除。我已经有一个 powershell 脚本,可以将所有这些内容分类到 245 个文件夹中。我所需要做的就是在每个文件夹中删除前五帧。或者,我可以在将它们分类到文件夹之前删除 5 个、跳过 240 个、删除 5 个等等,但我也无法弄清楚。我可以使用什么脚本来执行此操作?
最佳答案
使用Get-ChildItem
获取要迭代的文件夹,根据需要对它们进行排序(默认排序按文件名升序排列),使用Select
选择要删除的项目,并使用 Remove-Item
删除:
Foreach ($subfolder in (Get-ChildItem 'c:\path\to\clips\' -Directory)) {
Get-ChildItem $subfolder -File |
# Sort -Property Name -Descending | ## Optionally sort by name/date/whatever needed.
Select -First 5 |
Remove-Item -WhatIf
}
我建议在删除文件之前使用 -WhatIf
运行来验证您是否获得了正确的文件。
关于powershell - 删除目录中每个子文件夹中的前 5 项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68939658/