0

我需要递归地重命名一堆扩展名为“.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 不想重命名文件,因为它已经存在?这没有意义......有人知道我在这里做错了什么吗?

谢谢

4

2 回答 2

1

您需要使用 Foreach-Object Cmdlet:

gci -r -i *.cop | % {ren $_ -newname $_.Name.Replace(".cop", "") -whatif}
于 2012-05-01T11:16:00.090 回答
0

你的代码对我有用。确保您没有包含要重命名的文件名的目录。

于 2012-05-01T11:38:59.413 回答