如何解决使用 rename-item 命令覆盖现有文件?
我正在尝试使用 PowerShell 脚本整理从我的 iPhone 导入的文件,特别是想要编辑的照片 (IMG_E001.jpg) 覆盖未编辑的照片 (IMG_001.jpg)。
我正在使用 rename-item
,但不知道如何让它覆盖文件。我目前的解决方法是将所有编辑过的文件移动到它们自己的文件夹中,运行脚本,然后将它们复制到原始文件的顶部,但这有点麻烦,而且它似乎不如全自动脚本。
这是我目前使用的代码:
get-childitem -recurse -Include *.JPG | foreach { rename-item $_ $_.Name.Replace("E","") };
请谁能帮我让这个脚本覆盖现有文件?谢谢
解决方法
这是@postanote 在评论中提到的 rename-item 的限制,这是因为 Windows 不允许您将文件重命名为现有名称。您需要先删除另一个文件或覆盖它。相反,您可以使用 move-item -force 获得与执行覆盖基本相同的效果。
get-childitem -recurse -Include *.txt | foreach { Move-Item $_ $_.Name.Replace("E","") -Force };
了解更多信息;这是一个相关的主题 rename-item and override if filename exists
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。