Powershell区分大小写重命名

时间:2016-08-06 05:14:47

标签: windows powershell

我目前使用Filebot来处理我个人翻录/下载的电影的初始命名。当它识别出具有蓝光源的电影时,它会标记电影:

Movie Title (Year) (BluRay)

我想要的是一个区分大小写的PowerShell脚本来重命名" BluRay"到" Bluray"。我目前的脚本如下:

Dir | Rename-Item –NewName { $_.name –replace "BluRay","Blu" } >$null 2>&1
Dir | Rename-Item –NewName { $_.name –replace "Blu","Bluray" } >$null 2>&1

这很好用,除了我不希望它经历并重命名每个文件夹(因为我使用基于修改日期的备份/同步软件),看看它是如何区分大小写的以及虚假标记某些电影,例如:

Deep Blue Sea (1999) (Bluray)

因此,如果我可以使其区分大小写(首选方法)或排除单词Blue,那应该是有效的。

1 个答案:

答案 0 :(得分:3)

它可能区分大小写,您只需使用正确的运算符即可。大多数比较运算符都有区分大小写的变体,例如-ceq,-clike,-creplace等等。添加Where-Object可以使其成为目标并仅更改您需要的变量:

EXCEPTION: TypeError: Cannot read property 'showModal' of undefined

或者,如果由于某种原因需要捕获小写字母b:

Dir | Where-Object Name -cmatch 'BluRay' | Rename-Item –NewName { $_.name –creplace "BluRay","Blu" } >$null 2>&1

克里斯