You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用CMD或PowerShell按隔2个文件的规则批量复制文件

按「复制1个跳过2个」规则批量复制文件的实现方案

该规则下会按文件排序结果选取第1、4、7、10……位的文件执行复制,不同系统的实现方法如下:

Windows 环境(PowerShell 实现)

  • 先将代码中的源文件夹路径、目标文件夹路径替换为你本地的实际路径
  • 直接在PowerShell中运行如下代码即可:
# 定义源文件夹和目标文件夹路径
$sourcePath = "C:\你的\源文件夹\路径"
$destPath = "C:\你的\目标文件夹\路径"

# 获取源文件夹下所有文件,按文件名升序排序
$allFiles = Get-ChildItem -Path $sourcePath -File | Sort-Object Name

# 遍历筛选符合规则的文件并复制
for ($i=0; $i -lt $allFiles.Count; $i+=3) {
    Copy-Item -Path $allFiles[$i].FullName -Destination $destPath
}
  • 如需调整排序规则,修改Sort-Object后的参数即可,例如按修改时间排序改为Sort-Object LastWriteTime

Linux/macOS 环境(Bash 实现)

  • 先将代码中的/你的/源文件夹/路径、/你的/目标文件夹/路径替换为你本地的实际路径
  • 直接在终端运行如下代码即可:
# 定义源文件夹和目标文件夹路径
source_path="/你的/源文件夹/路径"
dest_path="/你的/目标文件夹/路径"

# 按文件名升序遍历文件,每3个取第一个复制
find "$source_path" -maxdepth 1 -type f | sort | awk 'NR%3==1' | while read -r file; do
    cp "$file" "$dest_path"
done
  • 如需遍历子文件夹下的所有文件,删除-maxdepth 1参数即可;如需调整起始复制位置,修改NR%3==1的数值即可,例如从第2个文件开始复制改为NR%3==2

操作注意事项

  • 正式复制前建议先预览筛选结果,确认符合预期后再执行复制操作:
    • PowerShell环境将Copy-Item行替换为Write-Host $allFiles[$i].FullName即可打印待复制文件路径
    • Bash环境将cp "$file" "$dest_path"行替换为echo "$file"即可打印待复制文件路径
  • 路径中如果包含空格、特殊字符,必须用引号包裹路径,避免命令识别出错

内容的提问来源于stack exchange,提问作者xXxlazharxXx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.21 15:36:04