1

我正在尝试使用 PowerShell 脚本整理从我的 iPhone 导入的文件,特别是希望编辑的照片 (IMG_E001.jpg) 覆盖未编辑的照片 (IMG_001.jpg)。

我正在使用rename-item但不知道如何让它覆盖文件。我目前的解决方法是将所有已编辑的文件移动到它们自己的文件夹中,运行脚本,然后将它们复制到原始文件的顶部,但这有点麻烦,而且它看起来不像完全自动化的脚本。

这是我目前使用的代码:

get-childitem -recurse -Include *.JPG | foreach { rename-item $_ $_.Name.Replace("E", "") };

请任何人都可以帮助我让这个脚本覆盖现有文件吗?谢谢

4

1 回答 1

2

这是@postanote 在他的评论中提到的rename-item的限制,这是因为 Windows 不允许您将文件重命名为现有名称。您需要先删除另一个文件或覆盖它。相反,您可以使用move-item -force来获得与执行覆盖基本相同的效果。

get-childitem -recurse -Include *.txt | foreach { Move-Item $_ $_.Name.Replace("E", "") -Force };

了解更多信息; 这是一个相关的线程重命名项,如果文件名存在则覆盖

于 2021-03-08T23:48:58.370 回答