我需要递归地重命名一堆扩展名为'.cop'的文件(用于复制)并删除'.cop'字符串。
我根据get-help rename-item
主题中的内容发出了以下命令:
gci -r -i *.cop | Rename-Item -newname {$_.name -replace '\.cop',''}
但是我收到了IO异常错误:
Rename-Item : Cannot create a file when that file already exists.
PowerShell不想重命名该文件,因为它已经存在? 那没有意义......有谁知道我在这里做错了什么?
谢谢
答案 0 :(得分:1)
您需要使用Foreach-Object Cmdlet:
gci -r -i *.cop | % {ren $_ -newname $_.Name.Replace(".cop", "") -whatif}
答案 1 :(得分:0)
您的代码适合我。确保您没有包含要重命名的文件名称的目录。