我有这样的文件。

[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'
我不明白我做错了什么。我曾经用这个命令更改文件名。

最佳答案

我认为这是 Rename-Item 和 powershell 2.0 的一个已知错误

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

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

关于powershell-2.0 - 无法用 PowerShell 2.0 替换文件名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25131251/

10-11 07:20