查找跨多个服务器的共享大小-powershell
我有大约1600个旧的家用硬盘,需要在这些硬盘上捕获文件夹大小。它们分布在12个NAS设备上,我需要了解每个文件夹的大小。我看到这要求很多,但他们总是要求在一台服务器上的所有份额 我使用了简单的一行程序,比如下面的一行程序,效果很好查找跨多个服务器的共享大小-powershell,powershell,directory,network-share,Powershell,Directory,Network Share,我有大约1600个旧的家用硬盘,需要在这些硬盘上捕获文件夹大小。它们分布在12个NAS设备上,我需要了解每个文件夹的大小。我看到这要求很多,但他们总是要求在一台服务器上的所有份额 我使用了简单的一行程序,比如下面的一行程序,效果很好 Get-ChildItem \\Server1\Users\User1 -file -recurse | Measure-Object -Sum Length 如何从多个位置输入txt或csv 像 导出到csv也不错 谢谢 您可以使用Get Content逐行读取
Get-ChildItem \\Server1\Users\User1 -file -recurse | Measure-Object -Sum Length
如何从多个位置输入txt或csv
像
导出到csv也不错
谢谢 您可以使用
Get Content
逐行读取文本文件:
Get-Content .\path\to\file.txt
接下来,我们需要为每一行重复一行:
Get-Content .\path\to\file.txt |ForEach-Object {
Get-ChildItem $_ -File -Recurse | Measure-Object -Sum Length
}
这将给我们1600个单独的测量-但现在我们不知道它们属于哪条路径
为了跟踪哪个度量值属于哪个用户目录,让我们创建一个包含所有信息的新对象:
Get-Content .\path\to\file.txt |ForEach-Object {
$Measurement = Get-ChildItem $_ -File -Recurse | Measure-Object -Sum Length
[pscustomobject]@{
Path = $_
FileCount = $Measurement.Count
TotalSize = $Measurement.Sum
}
}
最后,我们可以使用导出CSV
导出到CSV:
Get-Content .\path\to\file.txt |ForEach-Object {
$Measurement = Get-ChildItem $_ -File -Recurse | Measure-Object -Sum Length
[pscustomobject]@{
Path = $_
FileCount = $Measurement.Count
TotalSize = $Measurement.Sum
}
} |Export-Csv .\path\to\output.csv -NoTypeInformation
您可以使用
Get Content
逐行读取文本文件:
Get-Content .\path\to\file.txt
接下来,我们需要为每一行重复一行:
Get-Content .\path\to\file.txt |ForEach-Object {
Get-ChildItem $_ -File -Recurse | Measure-Object -Sum Length
}
这将给我们1600个单独的测量-但现在我们不知道它们属于哪条路径
为了跟踪哪个度量值属于哪个用户目录,让我们创建一个包含所有信息的新对象:
Get-Content .\path\to\file.txt |ForEach-Object {
$Measurement = Get-ChildItem $_ -File -Recurse | Measure-Object -Sum Length
[pscustomobject]@{
Path = $_
FileCount = $Measurement.Count
TotalSize = $Measurement.Sum
}
}
最后,我们可以使用导出CSV
导出到CSV:
Get-Content .\path\to\file.txt |ForEach-Object {
$Measurement = Get-ChildItem $_ -File -Recurse | Measure-Object -Sum Length
[pscustomobject]@{
Path = $_
FileCount = $Measurement.Count
TotalSize = $Measurement.Sum
}
} |Export-Csv .\path\to\output.csv -NoTypeInformation
哇!非常感谢!很好用,哇!非常感谢!工作完美。