Jump to content

PS - Dateigrößen aufsummieren und human readable ausgeben


Direkt zur Lösung Gelöst von blub,
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo Powershell Freunde,

 

heute möchte ich alle Textdateien in einem Pfad zählen und die Größe ermitteln.

Mein Ansatz zählen:

(get-childitem $pfad *.txt).count

Funktioniert wie ich möchte.

 

Die Größe ermitteln

get-childitem "$pfad *.txt | Measure-Object -Property length -sum | Select-Object sum

funktioniert auch, aber ich hätte gern GB angezeigt.

 

Problem:

/1GB

funktioniert nicht.

 

Habe versucht obiges Ergebnis in eine Variable des Typs [int] zu schreiben. Geht aber nicht, weil

 

"Cannot convert value "@{Sum=228259984}" to type "System.Int32". Error: "Cannot convert the "@{Sum=228259984}" value of type"

 

Kann ich die Ausgabe von select-object so umbiegen, dass ein int rauskommt mit dem ich rechnen kann?

 

Danke und Grüße

bearbeitet von italianstallion
Link zu diesem Kommentar
  • Beste Lösung

Hi,

 

Ich habe mir mal so einen ähnlichen Code geschrieben. Vielleicht hilft er dir weiter

 

blub

Set-StrictMode -Version "2.0"
Clear-Host

$Path="C:\temp\"

#$GroupInfos = gci -path $Path -recurse -force| Where{ $_.PSIsContainer -eq $False } | Group-Object Extension
$GroupInfos = gci -path $Path -recurse -force -file | Group-Object Extension  ##requires PS V3.0

$MyInfos = @()

ForEach ($Extension in $GroupInfos ) {
  [psobject]$MyInfo = ""|Select Extension,Count,Size
  $Size = ($Extension.Group | Measure-Object -Property "Length" -Sum).Sum/1MB
  $MyInfo.Extension = $Extension.Name
  $MyInfo.Count = $Extension.Count
  $MyInfo.Size = $Size
  $MyInfos += $MyInfo
}

 $MyInfos | Ft Extension,count,
    @{
    Label="FileSize in MB";
    Expression={"{0:0.00}" -f $($_.Size)};
    Align="Right"
   } -autosize


Link zu diesem Kommentar

Aha...danke Blub. Auch interesssant.

Habs mittlerweile gelöst indem ich

[int]$sumtxt = get-childitem "$pfad" *.txt | Measure-Object -Property length -sum | Select-Object -expandproperty sum

Sprich: Mit -expandproperty und dem Variablentyp int gehts...weiß zwarn icht warum, aber in erster Linie Wurscht! ;)

 

Danke

 

P.S.: Nächste Frage in nächstem Fred! ;)

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...