如何用PowerShell按文件大小是否唯一将WAV文件复制到子文件夹
PowerShell 按文件大小分类复制WAV文件
直接用下面的脚本就能完成你的需求,逻辑拆解如下:
- 自动创建目标文件夹(已存在时不会报错)
- 按文件大小分组并保留文件对象(方便后续复制操作)
- 根据分组内的文件数量,将文件分别复制到对应文件夹
# 创建目标文件夹,-Force参数确保已存在时不抛出错误 New-Item -Path ".\Unique Size", ".\Non-Unique Size" -ItemType Directory -Force # 获取所有WAV文件并按大小分组,遍历每个分组处理 Get-ChildItem -Filter "*.wav" | Group-Object -Property Length | ForEach-Object { # 根据分组文件数量确定目标文件夹 $targetFolder = if ($_.Count -eq 1) { ".\Unique Size" } else { ".\Non-Unique Size" } # 复制当前分组内的所有文件到目标文件夹 $_.Group | Copy-Item -Destination $targetFolder -Force }
关键细节说明:
- 移除了你原命令中的
-NoElement参数,该参数会丢弃实际文件对象只保留统计信息,而我们需要文件对象才能执行复制 ForEach-Object用于逐个处理每个大小分组-Force参数会自动覆盖目标文件夹内的同名文件,无需手动确认
内容的提问来源于stack exchange,提问作者Enceladus
相关产品推荐
相关产品推荐

