如何在 Windows 7 中批量复制/重命名/移动多个嵌套文件?

如何在 Windows 7 中批量复制/重命名/移动多个嵌套文件?

我在多个目录中有多个具有相同文件名的不同文件;

Folder1/file1.tif
Folder2/file1.tif
Folder3/file1.tif

我希望将所有同名文件复制/移动到一个目录中,并将目录名添加到文件名前面(Folder1_file1.tifFolder2_file1.tif...)。

如何在命令提示符/批处理中执行复制/重命名/移动操作?

答案1

powershell $d='C:\NewFolder\';md $d;ls -r -fo -fi "*.tif"^|%{(cp -Path ($_.FullName) -Dest ($d+$_.Directory.Name+'_'+$_.Name))}
  • md $d — 创建目录 'C:\NewFolder\'
  • ls -r - 获取所有子目录和当前目录中的所有文件
  • fo = -force - 添加到隐藏、系统和只读属性文件列表
  • -fi = -filter "*.tif" - 选择文件 tif 类型
  • ^| - ^- 掩码传输器/管道符号cmd, |-ls将对象管道化为copy命令
  • %~ foreach~ ForEach-Object- 所有项目循环
  • cp= copy= Copy-Item- 复制对象于powershell
  • $_- 管道中当前对象的变量;示例:

    powershell 'a','B','c','d','F' ^|%{if($_.toLower() -gt 'b'){write $_}}
    
  • -Path-源在cp//copy命令Copy-Item
  • -Dest = -目的地
  • $_.FullName- 完整路径名 - 源文件
  • $_.Directory.Name- 仅限父目录名称
  • $_.Name- 仅限文件名
  • ($d+$_.Directory.Name+'_'+$_.Name)- 目标路径和文件名

在此处输入图片描述

相关内容