powershell复制文件夹下子文件夹图片数量大于一定值的文件夹
# 源文件夹路径
$sourceFolderPath = "D:\exe\Image\dirs"
# 目标文件夹路径
$destinationFolderPath = "D:\exe\Image\ng"
# 检查源文件夹是否存在
if (!(Test-Path $sourceFolderPath)) {
Write-Host "源文件夹不存在"
exit
}
# 检查目标文件夹是否存在,如果不存在则创建
if (!(Test-Path $destinationFolderPath)) {
New-Item -ItemType Directory -Force -Path $destinationFolderPath
}
# 获取源文件夹下的所有子文件夹
$subFolders = Get-ChildItem -Path $sourceFolderPath -Directory
foreach ($folder in $subFolders) {
# 获取当前子文件夹中的图片数量
$imageCount = (Get-ChildItem -Path $folder.FullName -File -Filter "*.jpg" -ErrorAction SilentlyContinue).Count +
(Get-ChildItem -Path $folder.FullName -File -Filter "*.png" -ErrorAction SilentlyContinue).Count +
(Get-ChildItem -Path $folder.FullName -File -Filter "*.jpeg" -ErrorAction SilentlyContinue).Count
# 如果图片数量大于 6,则复制该文件夹及其内容到目标文件夹
if ($imageCount -gt 6 -and $imageCount -le 16) {
$destinationFolder = Join-Path -Path $destinationFolderPath -ChildPath $folder.Name
Copy-Item -Path $folder.FullName -Destination $destinationFolder -Recurse
Write-Host "已复制文件夹: $($folder.Name)"
}
}
Write-Host "处理完成"