我希望能够选择一个远程文件夹并递归扫描所有文件扩展名。对于发现的每个扩展,我需要一个总数以及单个文件类型的总和。
我在这里找到了一个脚本,它使用 -include 开关适用于单个文件扩展名,但与其运行脚本数十次,不如简单地运行一次并收集所有扩展名。
$hostname=hostname
$directory = "D:\foo"
$FolderItems = Get-ChildItem $directory -recurse -Include *.txt
$Measurement = $FolderItems | Measure-Object -property length -sum
$colitems = $FolderItems | measure-Object -property length -sum
"$hostname;{0:N2}" -f ($colitems.sum / 1MB) + "MB;" + $Measurement.count + " files;"
我想我需要用Get-ChildItem $directory | Group-Object -Property Extension
某种方式列出扩展名,如果这有帮助的话。
理想的输出是这样的:
Extension, Size (MB), Count
jpg,1.72,203
txt,0.23,105
xlsx,156.12,456
我在 Windows 7 机器上使用 Powershell v4.0 远程连接到服务器,我可以在本地运行脚本,但它只有 Win 2008 R2 机器的 V3.0。
有没有人有任何想法?