在Powershell中重命名文件

时间:2018-06-21 14:12:49

标签: powershell

我正在尝试重命名文件,以便可以删除名称中的方括号:

示例:[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可以毫无问题地找到此文件。在这一点上,我不知道为什么它不起作用,因为它可以使用一个命令而不是另一个命令来查找文件。

2 个答案:

答案 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"