通过重新格式化现有文件名重命名文件 - 将占位符替换为与-replace运算符一起使用的替换字符串

通过重新格式化现有文件名重命名文件 - 将占位符替换为与-replace运算符一起使用的替换字符串

我有一些像这样的视频文件: VideoName_s01e01.mp4季节和剧集是变量。我想在s??和之间添加一个下划线(“_”)e??

我一直在使用powershell进行重命名,我有一个起点:

GCI $path -filter '*_s??e??*' -rec |  Ren -new { $_.name -replace '_s[0-9][0-9]', '_s[0-9]_[0-9]_' } -passthru

这实际上重命名了我的文件VideoName_s[0-9]_e[0-9].mp4

基本上,我正在寻找s??e??我不知道如何在替换部分中使它们成为变量的字符。

我认为最好的方法是:

  1. 找到e??s??(我们称之为X)的位置。

  2. 将字符串拆分为X-3

  3. 将字符串连接_到中间的“ ”。


隔江千里
浏览 622回答 3
3回答

呼唤远方

-replace正在使用 正则表达式,而不是通配符。因此,您必须将替换更改为:-replace '_s([0-9]{1,2})e([0-9]{1,2})', '_s$1_e$2_'
打开App,查看更多内容
随时随地看视频慕课网APP