0
votes

Obtenez la taille des sous-répertoires et d'écrire dans File PowerShell Windows

J'ai un répertoire monté Z: \ et il a un répertoire appelé principal 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 a 3 sous-répertoires a , b , c alors je veux dans le fichier texte à regarder Comme ceci xxx

et ainsi de suite. Tout conseil en quoi cela peut être fait dans PowerShell?


1 commentaires

$ somme = 0; gci z: \ Main \ a -recurse | Select-Object Longueur |% {$ somme + = $ _. longueur}


3 Réponses :


0
votes

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


0 commentaires

0
votes

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)

    }
}


0 commentaires

0
votes

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 -Norecurse le permettra de donner juste la taille de chaque subdir sans rien plus profond. xxx

appelé ainsi ... xxx

... Il donne ce qui suit ... xxx < / pré>


0 commentaires