无法用PowerShell 2.0替换文件名

时间:2014-08-05 04:33:09

标签: powershell-v2.0

我有这样的文件。

[mix]aaaa.flv
[mix]aaaa.mpv
[mix]aaaa.ogv
[mix]aaaa.webm
[mix]bb.flv
[mix]bb.mpv
[mix]bb.ogv
[mix]bb.webm
...

我只需要删除" [mix]"来自文件名。

我使用此命令,但失败了

Dir | Rename-Item –NewName { $_.name –replace "[mix]", "" }

错误说

Rename-Item : 'Microsoft.PowerShell.Core\FileSystem::C:\Users\Desktop\[mix]aaaa.mp4'에 항목이 없으므로 이름을 바꿀 수 없습니다.
위치 줄:1 문자:18
+ Dir | Rename-Item <<<<  –NewName { $_.name –replace “[mix]“,”” }
    + CategoryInfo          : InvalidOperation: (:) [Rename-Item], PSInvalidOperationException
    + FullyQualifiedErrorId : InvalidOperation,Microsoft.PowerShell.Commands.RenameItemCommand

有错误代码的韩国人,可能会说:Can't change name, there is no item at 'Microsoft.PowerShell.Core\FileSystem::C:\Users\Desktop\[mix]aaaa.mp4'

我不明白我做错了什么。我曾经用这个命令更改文件名。

2 个答案:

答案 0 :(得分:4)

我认为这是Rename-Item和powershell 2.0

的已知错误

我所做的是使用Move-Item,你应该能够使用以下内容(在powershell 2.0上测试):

Dir | Move-Item -Destination {$_.Name -replace "\[mix\]", ""}

答案 1 :(得分:2)

我能够做到这一点。请注意,[]是正则表达式元字符,需要进行转义:

Dir | Rename-Item -NewName {$_.Name -replace "\[mix\]",""}