Ergebnis 1 bis 3 von 3

Thema: Powershell

  1. #1
    Registriert seit
    01.07.2010
    Beiträge
    2

    Standard Powershell

    Hi Leutz!

    Ich versuche mit PowerShell in diversen Verzeichnissen Dateien auszulesen, die älter als 30 Tage sind.
    Leider kriege ich es nicht hin, dass PowerShell mir ausrechnet(in GB) wie viele Daten (die restlichen, über 500000 Ordner) es sind.


    Ich erlaube mir hier mein Script hin zu stellen und bin auf jede Hilfestellung sehr dankbar.

    Get-ChildItem "mein Pfad" | Where-Object {$_.LastWriteTime -le (Get-Date).AddMonths(-3)} | select-object length

    Ich bin absoluter beginner und bitte um Verständnis.

    Beste Grüsse
    corsano75

  2. #2
    vstm ist offline Fortgeschrittener Benutzer
    Registriert seit
    28.12.2008
    Ort
    Züri Oberland
    Alter
    34
    Beiträge
    123

    Standard AW: Powershell

    Das erste Problem ist wohl, dass Get-ChildItem nur die Elemente eines Ordners zurück gibt. Damit Get-ChildItem auch rekursiv die Unterordner und deren Dateien ausgibt, gibst du einfach "-Recurse" an.

    Um dann die Summe zu bilden kannst Du ForEach-Object verwenden (oder kurz %). Da gibt es drei Blöcke, einer welcher beim Start ausgeführt wird um den Zähler zu initialisieren (-Begin), der zweite welcher für jedes Objekt in der Collection aufgerufen wird (-Process) und der Dritte welcher für die abschliessenden Berechnungen verwendet werden kann (-End) z.B. um die Grösse in Bytes nach GB umzurechnen (GB = Bytes / 1000^3, Falls du GiB benötigst: einfach 1000 durch 1024 ersetzen).

    Ich denke so sollte es funktionieren (Ich prüfe mit "-not PSIsContainer" zusätzlich noch dass es kein Ordner ist):

    Code:
    Get-ChildItem -Recurse "mein Pfad" | Where-Object  {-not $_.PSIsContainer -and $_.LastWriteTime -le (Get-Date).AddMonths(-3)} | ForEach-Object -Begin {$total = 0} -Process {$total += $_.Length } -End {$total / [Math]::Pow(1000,3)}

  3. #3
    Registriert seit
    01.07.2010
    Beiträge
    2

    Standard AW: Powershell

    Hallo vstm

    Vielen Dank für die Unterstützung!
    Dein Code funktioniert einwandfrei und schnell.
    Ich hatte bei den Berechnungen enorm Probleme und eine hohe Memory Auslast.

    Nochmals vielen Dank!

    @Alle
    Geniales Forum!

    Mit Gruss
    corsano75

Ähnliche Themen

  1. Frage: Powershell Frage
    Von Lordicon im Forum Software: Windows, Apple, Linux...
    Antworten: 7
    Letzter Beitrag: 29.10.2014, 14:46
  2. Frage: Powershell: Was sind euere Top 5
    Von Lordicon im Forum Webdesign & andere Programmiersprachen
    Antworten: 14
    Letzter Beitrag: 18.09.2014, 11:33
  3. Frage: Drucker auslesen via Powershell
    Von map23 im Forum Software: Windows, Apple, Linux...
    Antworten: 4
    Letzter Beitrag: 18.07.2010, 11:38
  4. Frage: Powershell
    Von map23 im Forum Software: Windows, Apple, Linux...
    Antworten: 4
    Letzter Beitrag: 16.07.2010, 20:48
  5. Frage: Problem mit Powershell Script
    Von rosco im Forum Webdesign & andere Programmiersprachen
    Antworten: 2
    Letzter Beitrag: 14.04.2010, 20:54

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •