Jump to content

Powershell Ausgabe von Variablen


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

Empfohlene Beiträge

Hallo!

 

Ich bastle momentan an meinem ersten Powershell Skript und bin begeistert und entsetzt zugleich! :D

 

Durch viel herumprobieren komme ich langsam aber doch voran, aber zur Zeit hänge ich komplett. :(

 

Ich schreibe an einem Skript welches Ordnerinhalte auswertet und in eine Datei schreiben soll.

Ich kämpfe mit der Ausgabe von Variablen, genauer gesagt damit wie sie ausgegeben werden.

 

Im Moment sieht das noch so aus:

 

Write-Output "Ordner;Größe;Anzahl" | Out-File -Encoding Default C:\temp\test.txt
$stammpfade = Get-ChildItem C:\temp | Where-Object {$_.psIsContainer -eq $true}
$userpfade = $stammpfade | Get-ChildItem -Force | Where-Object {$_.psIsContainer -eq $true}

$stammpfade | ForEach-Object -Process {
$dateien = Get-ChildItem $_.fullname -Force -Recurse | Measure-Object length -sum
$anzahl = $dateien | Select-Object -ExpandProperty Count
$groesse = ($dateien | Select-Object -ExpandProperty Sum)/1048576
$groesserund = [system.Math]::Round($groesse,2)
Write-Output "$_;$groesserund;$anzahl" | Out-File -Append -Encoding Default C:\temp\test.txt
}

 

Der Hund liegt derzeit in der letzten Zeile begraben.

Die Variable $groesserund soll mit einem Komma statt einem Punkt exportiert werden.

Gibt man die Variable alleine aus geht das ja auch, aber so wie oben wird leider immer ein Punkt daraus.

Würde ich die Variablen alle alleine Ausgeben, dann beginnt jedes mal eine neue Zeile.

 

Wichtig ist das Komma deshalb, da eine CSV daraus werden soll.

Und Excel interpretiert Zahlenwerte mit Punkten als Datum und nicht als Zahl.

 

Womöglich ist das ja nur eine Kleinigkeit, aber dadurch dass die Powershell derart komplex ist weiß ich nicht wo ich noch weiter suchen soll.

Vielleicht auch dadurch dass es schon etwas später ist heute... ;)

 

 

Das Skript ist noch nicht fertig, würde mich auch sehr über Optimierungen oder andere Lösungswege freuen, aber derzeit möchte ich nur mal wissen wie ich das hinbekomme dass der Output im Excel ohne Konvertierung gleich zu lesen ist.

 

BitteDanke! :cry:

Link zu diesem Kommentar

*Räusper*

Ich weiß das sagt normalerweise ein Mann nicht zu einem Anderen, aber trotzdem: "Du bist ein Schatz!!" :jau:

 

Hab es auf diese Weise eingebaut, da mir deine 2. Zeile nur die Variable ausgegeben hat:

 

$groesserund = $groesserund.tostring($culture)

 

 

Ich hab ja leider noch viel zu wenig Ahnung was man mit der Powershell alles machen kann, was dieses "irgendwas.zeugs(blabla)" zum Beispiel darstellt, aber das wird noch werden.

 

Bis jetzt hab ich nur mit der CMD gearbeitet, nix VBS oder so.

Aber ich denke für "unlösbare" Fragen hab ich hier die richtige Stelle gefunden!

 

Danke!

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...