【发布时间】:2021-04-27 10:00:45
【问题描述】:
我有一些视频文件需要重命名。 名称是这样的:[视频名称] [编号].[文件扩展名] 我最近更换了需要特殊命名顺序的媒体播放软件。 顺序如下:[video name] e(increment start at 01)].[file-extension] 此外,媒体播放器需要这样的文件夹结构:C:\Media\[series]\[season(increment start at 01)] 我可以手动创建文件夹结构,也可以手动重命名文件,但我想自动化该过程以节省一些时间。
创建文件名的最佳方式如下:检查文件路径:
$path = Get-Location
get-childitem "$path" -recurse | where {$_.extension -eq ".mkv"}
并检测 \season[number] 之前的路径。理想情况下,脚本会像这样重新生成文件:[video name = path(before season)],然后基于这样的脚本添加 e(increment start at 01)]:
$i = 1 Get-ChildItem *.mkv| %{Rename-Item $_ -NewName ('$_.Fullname{0:D4}.mkv' -f $i++)}
如此处所示:
Bulk renaming of files with powershell 但是,如果该系列有 12 集并且文件名如下:s01e001
,则媒体播放器会感到困惑如果无法根据路径获取名称,我想要一个脚本,将文件重命名为 [series name] e[increment start from 01].mkv
有没有办法创建脚本来重命名文件?
【问题讨论】:
-
请向我们展示一些真实的文件名。现在完全不清楚
[video name]包含什么以及如何从中解析[series name]。 -
真正的文件名应该是这样的:dr.谁 01.mkv 我想变成博士。谁s01e01.mkv。该文件将位于文件夹 Dr. who\Season 01 中,因此脚本应根据 \Season 01 上方的文件夹解析系列名称
标签: powershell rename