如何将文件夹中的每 4 个文件复制到新文件夹中?

ang*_*dev 5 windows-explorer file-io batch-file

我正在将动画导出为 PNG 图像文件。从导出的 1199 个帧序列中,只有第 4 个文件包含一个关键帧,其余图像文件与前一个文件完全相同。

如何仅将第 4 个文件复制到新文件夹中?

file-20000.png - Copy
file-20001.png - Duplicate of file-20000
file-20002.png - Duplicate of file-20000
file-20003.png - Duplicate of file-20000
file-20004.png - Copy
file-20005.png - Duplicate of file-20004
file-20006.png - Duplicate of file-20004
file-20007.png - Duplicate of file-20004
file-20008.png - Copy
Run Code Online (Sandbox Code Playgroud)

Vom*_*yle 5

使用FOR / L循环,并设置开始0时,4结束1200这是一个多于1199的文件名部分数字序列,你只需要复制的第四个文件。

这将迭代00, 4, 8, .... 1196 4开始计数的数字,您可以将迭代值附加为在文件名的一部分内连接的字符串以及通配符掩码,并将其与xcopy一起使用以相应地复制每个第 4 个文件。


批处理脚本

注意: 此逻辑假设文件名始终以“file-2”开头,并始终以扩展名png(即<SeqNum>.png)之前的点之前的序列号结尾

@ECHO ON

SET SrcDir=C:\folder\src
SET DestDir=C:\folder\dest
SET fNamePart=file-2
SET ext=png

FOR /L %%a IN (0, 4, 1200) DO (
    ECHO F | XCOPY /Y /F "%SrcDir%\%fNamePart%*%%a.%ext%" "%DestDir%\"
    )

PAUSE
EXIT
Run Code Online (Sandbox Code Playgroud)

更多资源

  • 为/升

    FOR /L %variable IN (start,step,end) DO command [command-parameters]
    
        The set is a sequence of numbers from start to end, by step amount.
        So (1,1,5) would generate the sequence 1 2 3 4 5 and (5,-1,1) would
        generate the sequence (5 4 3 2 1)
    
    Run Code Online (Sandbox Code Playgroud)
  • 复制