3

我正在运行这个 PowerShell 命令:

Get-ChildItem .\tx\*.htm | Rename-Item -NewName {$_.Name -replace '\.htm','.tmp'}

[并在文件名包含方括号 --和/或--时收到以下错误,]这是可以理解的,因为它们在 PowerShell 语法中具有含义。

重命名项目:无法重命名,因为项目位于
'Microsoft.PowerShell.Core\FileSystem::C:\users\xxxxx\desktop\tx\
Foofoofoofoo_foo_foo_[BAR]_Foofoofoofoo_foofoofoo.htm' 不存在。
在 C:\users\xxxxx\desktop\foo002.ps1:59 char:39
+ 获取子项 .\tx\*.htm | 重命名项目 <<<< -NewName { $_.Name -replace '\.htm','.tmp' }
    + CategoryInfo : InvalidOperation: (:) [Rename-Item], PSInvalidOperationException
    + FullyQualifiedErrorId : InvalidOperation,Microsoft.PowerShell.Commands.RenameItemCommand

路径中的所有其他文件都具有相似的名称 ( Phrase_With_Underscores.htm),并且毫无意外地被重命名。任何人都有这方面的经验并且知道如何应对它,以便我可以操纵这些文件?

4

1 回答 1

7

您可以使用参数来解决使用move-item重命名项目的问题-LiteralPath

是一个已知的错误:连接 (阅读 Keith Hill 评论:powershell V3 修复此问题)

于 2013-01-10T14:06:36.757 回答