J'ai un répertoire monté Z: \ et il a un répertoire appelé et ainsi de suite. Tout conseil en quoi cela peut être fait dans PowerShell? P> P> principal code> sous elle, il existe de nombreux sous-répertoires, je veux connaître la taille de chacun de ces sous-répertoires directs (non sous-sous-répertoires) et écrivez-le dans le fichier. Donc, par exemple, si principal code> a 3 sous-répertoires a code>, b code>, c code> alors je veux dans le fichier texte à regarder Comme ceci
3 Réponses :
Essayez ceci -
$array= @()
$folder = "Z:\Main"
Get-ChildItem $folder -Recurse -Depth 0 | Where-Object { $_.PSIsContainer } |
ForEach-Object {
$obj = New-Object PSObject
$Size = [Math]::Round((Get-ChildItem -Recurse $_.FullName | Measure-Object Length -Sum -ErrorAction SilentlyContinue).Sum / 1KB, 2)
$obj |Add-Member -MemberType NoteProperty -Name "Path" $_.Name
$obj |Add-Member -MemberType NoteProperty -Name "SizeMB" $Size
$array +=$obj
}
$array | select Path,SizeMB | Export-Csv $env:USERPROFILE\Desktop\OutputFile.csv -NoTypeInformation
J'étais sur le point de suggérer:
$path = 'C:\Program Files'
$Folders = Get-ChildItem -Path $path -Directory -Recurse
foreach ($Folder in $Folders) {
[PSCustomObject]@{
Location = $Folder.fullname
Size = [math]::Round(((Get-ChildItem -Path $Folder.fullname -File | Measure-Object -Property Length -Sum).Sum / 1MB),2)
}
}
Cela a été fait pour un ami il y a un moment ... il est par défaut d'obtenir la taille complète de l'arbre de sous-répertoire. Cependant, le paramètre appelé ainsi ... p> ... Il donne ce qui suit ... p> -Norecurse code> le permettra de donner juste la taille de chaque subdir sans rien plus profond.
$ somme = 0; gci z: \ Main \ a -recurse | Select-Object Longueur |% {$ somme + = $ _. longueur} code>