我正在尝试重命名文件,以便可以删除名称中的方括号:
示例:[Example] Test File (Servers).xls
重命名为Example Test File (Servers).xls
我的问题是,当我运行它时,它返回一条错误信息
Rename-Item -Path '.\'[Example'] Test File (Servers).xls' -NewName "Example Test File (Servers).xls"
重命名项:指定路径C:\ Users \ Documents \ PowerShell \ [示例]测试文件(服务器).xls不存在
另一个问题是当我运行时:
C:\Users\Documents\PowerShell> Get-ChildItem -Path "[Example] Test File (Servers).xls"
这可以成功运行且没有错误,因此我知道PowerShell可以毫无问题地找到此文件。在这一点上,我不知道为什么它不起作用,因为它可以使用一个命令而不是另一个命令来查找文件。
答案 0 :(得分:2)
尝试:
要更改同一目录中的多个文件名:
Dir | Rename-Item -NewName {$_.name -replace "[Example]","Example"}
之前的文件名:
[示例]测试文件(服务器).xls
后面的文件名:
示例测试文件(服务器).xls
答案 1 :(得分:2)
如果您正在使用现代版本的Powershell(v4 + iirc),则可以使用LiteralPath
代替Path
。
它可以处理特殊字符,例如[]
,而不必转义它们。
Rename-Item -LiteralPath ".\[Example] Test File (Servers).xls" -NewName "Example Test File (Servers).xls"