获取该目录内大于指定KB的文件夹,并复制到指定目录
文件夹结构举例母文件夹
---子文件夹1
---子文件夹2
---子文件夹3
---子文件夹4
---子文件夹5
......
---子文件夹1000
--文件1
--文件2
.....
母文件夹内有多个子文件夹,子文件夹内有多个文件.
需求:
想要将母文件夹中大于指定KB的子文件夹(包含内部文件)提取出来
因为window10没办法按文件夹大小排序,所以看看有没有大哥有啥法子
没有你那样的文件结构,你试一下,有问题在改https://wwwj.lanzouw.com/iNRe02eue30j
https://s3.bmp.ovh/imgs/2024/11/12/45ad2a13eb235a6c.png 使用PowerShell 脚本# 配置源目录、目标目录和文件夹大小阈值(单位:KB)
$sourceDir = "C:\path\to\source" # 源目录
$destDir = "C:\path\to\destination" # 目标目录
$sizeThresholdKB = 1024 # 指定大小阈值(KB)
# 将 KB 转换为字节
$sizeThresholdBytes = $sizeThresholdKB * 1024
# 检查目标目录是否存在,不存在则创建
if (!(Test-Path -Path $destDir)) {
New-Item -ItemType Directory -Path $destDir
}
# 遍历源目录下的所有文件夹
Get-ChildItem -Path $sourceDir -Directory -Recurse | ForEach-Object {
$folder = $_
$folderSize = (Get-ChildItem -Path $folder.FullName -Recurse | Measure-Object -Property Length -Sum).Sum
# 如果文件夹大小超过指定阈值,则复制到目标目录
if ($folderSize -gt $sizeThresholdBytes) {
$destinationPath = Join-Path -Path $destDir -ChildPath $folder.Name
Copy-Item -Path $folder.FullName -Destination $destinationPath -Recurse
Write-Output "已复制文件夹 $($folder.FullName) 到 $destinationPath,文件夹大小: $(::Round($folderSize / 1KB, 2)) KB"
}
}
页:
[1]