我正在运行此PowerShell命令:
Get-ChildItem .\tx\*.htm | Rename-Item -NewName {$_.Name -replace '\.htm','.tmp'}
当文件名包含方括号 - [
和/或 ]
时,会收到以下错误,这是可以理解的,因为它们在PowerShell语法中有意义 .
Rename-Item : Cannot rename because item at
'Microsoft.PowerShell.Core\FileSystem::C:\users\xxxxx\desktop\tx\
Foofoofoofoo_foo_foo_[BAR]_Foofoofoofoo_foofoofoo.htm' does not exist.
At C:\users\xxxxx\desktop\foo002.ps1:59 char:39
+ Get-ChildItem .\tx\*.htm | Rename-Item <<<< -NewName { $_.Name -replace '\.htm','.tmp' }
+ CategoryInfo : InvalidOperation: (:) [Rename-Item], PSInvalidOperationException
+ FullyQualifiedErrorId : InvalidOperation,Microsoft.PowerShell.Commands.RenameItemCommand
路径中的所有其他文件具有相似的名称( Phrase_With_Underscores.htm
),并且在不发生意外的情况下重命名 . 任何人都有这方面的经验,知道如何反击它,以便我可以操纵这些文件?
1 回答
您可以使用
move-item
使用参数-LiteralPath
重命名项目 .是一个知道错误:Connect(阅读Keith Hill评论:powershell V3修复此问题)