将文件粘贴到多个文件夹并使文件类型覆盖同类文件的命令或脚本,同时保留原始文件的名称?


0

标题类型已经解释了它,但我会在这里更具体一点。

我想用不同的.jpg文件替换多个不同文件夹中的.jpg文件,但我希望能够保留原始文件的名称,这样我就不必重命名每个图像以避免破坏文件路径,我该怎么做呢?

例如

  1. 将.jpg粘贴到100个文件夹
  2. .jpg替换所有其他.jpg文件,无论文件名如何
  3. 粘贴的.jpg然后将自己重命名为原始覆盖文件的名称

编辑:忘记提及,这些文件夹都是单个父项的子项,而不是分散在整个驱动器上。


您可能需要解释文件夹的布局方式,例如,它们是单个父文件夹的所有子项吗?它们分散在一个驱动器上吗?
Patrick Seymour 2013年

@PatrickS。更新了,谢谢你告诉我这件事。
现实

@Tog不多,我可以同时将文件粘贴到所有文件夹中没问题,但这只是一切之后让我挠头。对不起我的无知,我对这个问题知之甚少。
现实2013年

Answers:


3

C:\ newpic.jpgC:\ newpic.jpg这是PowerShell最适合的:

ls "C:\files" -Recurse -Filter "*.jpg" | ForEach{ cp "C:\newpic.jpg" $_.FullName -WhatIf }

更冗长的版本是:

Get-ChildItem "C:\files" -Recurse -Filter "*.jpg" | ForEach-Object { Copy-Item "C:\newpic.jpg" -Destination $_.FullName -WhatIf }

第一部分循环遍历C:\ files下的所有jpg文件,包括任何子目录。第二部分将获取每个文件并用新文件覆盖它们。

上面的命令实际上只会告诉你如果不这样做它们会做什么,删除-WhatIf来实际执行复制操作。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.