none
Skript Befehl für das Abarbeiten aller Dateien in einem Verzeichnis RRS feed

  • Frage

  • Hallo Zusammen,

    ich habe ein PS7 Skript und möchte nicht jedes mal die Verzeichnisse in dem Skript per Hand ändern müssen für jede Datei in dem Verzeichnis. Wie muss ich das Skript aufbauen bzw. welchen Befehl benötige ich, dass jede Datei einem Verzeichnis nacheinander abgearbeitet werden?

    Der Skript Code lautet wie folgt:

    $pfad = "C:\Users\Inspiron\Desktop\PV-Heater-Logger\2020\06\10.log"
    $daten = get-content -Path $pfad -AsByteStream
    Write-Host "Die Datei enthält $($daten.Count) Zeilen."
    $ds = ($daten.Count-2)/198
    Write-Host "Das sind $ds DS."
    #Überschrift in Datei
    $out = "Key" + ";" + "Datum" + ";" + "Uhrzeit" + ";" + "DC-Leistung 1" + ";" + "DC-Leistung 2" + ";" + "DC-Leistung 3" + ";" + "var4" + ";" + 
    "Wassertemp" + ";" + "Int Temp" + ";" + "Kuehlkoerpertemp" + ";" + "Ext Temp 1" + ";" + "Ext Temp 2" + ";" + "DC Spannung 1" + ";" + 
    "DC Spannung 2" + ";" + "DC Spannung 3" + ";" + "Gesamtleistung " + ";" + "Energie Gen 1" + ";" + "Energie Gen 2" + ";" + "Energie Gen 3" + ";" + 
    "Energie Tag" + ";" + "var18" + ";"
    $out >> "C:\Users\Inspiron\Desktop\PV-Heater-Logger\2020\10.csv"
    
    for ($k = 1; $k -le $ds; $k++)
    {
        $k1 = $k + 1 + ($k-1) * 197
        $k2 = $k + 2 + ($k-1) * 197
        $k3 = $k + 3 + ($k-1) * 197
        $k4 = $k + 4 + ($k-1) * 197
        #Write-Host $k1, $k2, $k3, $k4
    
        $datumb = ("0x" + "{0:x2}{1:x2}{2:x2}{3:x2}" -f $daten[$k1], $daten[$k2], $daten[$k3], $daten[$k4])
        $datum = (Get-Date 01.01.1970 )+([System.TimeSpan]::fromseconds($datumb)) 
        $datums = get-date $datum -Format "yyyyMMdd"
        $jamota = get-date $datum -Format "yyyy.MM.dd"
        $uhrzeit = get-date $datum -Format "HH:mm"
        $var1 =  "{0:n2}" -f ([System.BitConverter]::ToSingle(($daten[($k4+24)] ,$daten[($k3+24)], $daten[($k2+24)], $daten[($k1+24)]), 0))
        $var2 =  "{0:n2}" -f ([System.BitConverter]::ToSingle(($daten[($k4+34)] ,$daten[($k3+34)], $daten[($k2+34)], $daten[($k1+34)]), 0))
        $var3 =  "{0:n2}" -f ([System.BitConverter]::ToSingle(($daten[($k4+44)] ,$daten[($k3+44)], $daten[($k2+44)], $daten[($k1+44)]), 0))
        $var4 =  "{0:n2}" -f ([System.BitConverter]::ToSingle(($daten[($k4+54)] ,$daten[($k3+54)], $daten[($k2+54)], $daten[($k1+54)]), 0))
        $var5 =  "{0:n2}" -f ([System.BitConverter]::ToSingle(($daten[($k4+64)] ,$daten[($k3+64)], $daten[($k2+64)], $daten[($k1+64)]), 0))
        $var6 =  "{0:n2}" -f ([System.BitConverter]::ToSingle(($daten[($k4+74)] ,$daten[($k3+74)], $daten[($k2+74)], $daten[($k1+74)]), 0))
        $var7 =  "{0:n2}" -f ([System.BitConverter]::ToSingle(($daten[($k4+84)] ,$daten[($k3+84)], $daten[($k2+84)], $daten[($k1+84)]), 0))
        $var8 =  "{0:n2}" -f ([System.BitConverter]::ToSingle(($daten[($k4+94)] ,$daten[($k3+94)], $daten[($k2+94)], $daten[($k1+94)]), 0))
        $var9 =  "{0:n2}" -f ([System.BitConverter]::ToSingle(($daten[($k4+104)] ,$daten[($k3+104)], $daten[($k2+104)], $daten[($k1+104)]), 0))
        $var10 = "{0:n2}" -f ([System.BitConverter]::ToSingle(($daten[($k4+114)] ,$daten[($k3+114)], $daten[($k2+114)], $daten[($k1+114)]), 0))
        $var11 = "{0:n2}" -f ([System.BitConverter]::ToSingle(($daten[($k4+124)] ,$daten[($k3+124)], $daten[($k2+124)], $daten[($k1+124)]), 0))
        $var12 = "{0:n2}" -f ([System.BitConverter]::ToSingle(($daten[($k4+134)] ,$daten[($k3+134)], $daten[($k2+134)], $daten[($k1+134)]), 0))
        $var13 = "{0:n2}" -f ([System.BitConverter]::ToSingle(($daten[($k4+144)] ,$daten[($k3+144)], $daten[($k2+144)], $daten[($k1+144)]), 0))
        $var14 = "{0:n2}" -f ([System.BitConverter]::ToSingle(($daten[($k4+154)] ,$daten[($k3+154)], $daten[($k2+154)], $daten[($k1+154)]), 0))
        $var15 = "{0:n2}" -f ([System.BitConverter]::ToSingle(($daten[($k4+164)] ,$daten[($k3+164)], $daten[($k2+164)], $daten[($k1+164)]), 0))
        $var16 = "{0:n2}" -f ([System.BitConverter]::ToSingle(($daten[($k4+174)] ,$daten[($k3+174)], $daten[($k2+174)], $daten[($k1+174)]), 0))
        $var17 = "{0:n2}" -f ([System.BitConverter]::ToSingle(($daten[($k4+184)] ,$daten[($k3+184)], $daten[($k2+184)], $daten[($k1+184)]), 0))
        $var18 = "{0:n2}" -f ([System.BitConverter]::ToSingle(($daten[($k4+194)] ,$daten[($k3+194)], $daten[($k2+194)], $daten[($k1+194)]), 0))
        #Daten für Datei
        $out = $datums + ";" + $jamota + ";" + $uhrzeit + ";" + $var1 + ";" + $var2 + ";" + $var3 + ";" + $var4 + ";" + $var5 + ";" + $var6 + ";" + 
        $var7 + ";" + $var8 + ";" + $var9 + ";" + $var10 + ";" + $var11 + ";" + $var12 + ";" + $var13 + ";" + $var14 + ";" + 
        $var15 + ";" + $var16 + ";" + $var17 + ";" + $var18 + ";"
        $out >> "C:\Users\Inspiron\Desktop\PV-Heater-Logger\2020\10.csv"
     } 
    
    Write-Host "FERTIG"
    Danke

    Samstag, 27. Juni 2020 15:49

Antworten

Alle Antworten