首页 文章

使用PowerShell重命名文件时,如何使用“[”处理文件名?

提问于
浏览
3

我正在运行此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 回答

  • 7

    您可以使用 move-item 使用参数 -LiteralPath 重命名项目 .

    是一个知道错误:Connect(阅读Keith Hill评论:powershell V3修复此问题)

相关问题