我想知道是否有一种快速简单的方法来搜索具有多个字符的文件名并删除之后的所有字符。
例如,如果我有一个名为:
Great Movie Title 2021 1080p asldkfjalfj.mkv
Another Great Movie 1997 480p aldfasdfa.avi
Boring movie but its ok 2015 720p asadfqwr.mp4
我想在文件名中找到1080p
, 720p
,480p
然后删除它后面的所有内容。
我知道您可以使用 Windows 批处理For
循环,但您只能使用单个字符来查找它。即使它是可以做到这一点的第三方应用程序,但我似乎无法找到它。
PowerShell是要走的路。
这是另一种方法,可以一次完成所有操作并轻松修改。
这将从顶级文件夹运行。这样做可以释放
-Path
(此处为位置)参数以按多种文件类型进行过滤,因为-Path
与 不同-Filter
,可以采用一组值。正则表达式
'^.+(1080p|720p|480p)'
匹配从文件名开头到并包括任何一个“or'd”(|
) 解析字符串的所有字符。该文本存储在$matches
自动变量中,并用于构造新名称。您是在搜索整个驱动器,还是只搜索一个目录?
无论哪种方式,PowerShell 都可以处理这个问题。
这将执行整个 C 驱动器,重命名文件名中包含 1080p 的任何内容:
然后你可以重复 480p 和 720p。