Quantcast
Channel: Windows PowerShell Forum
Viewing all articles
Browse latest Browse all 2314

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

$
0
0

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


Viewing all articles
Browse latest Browse all 2314


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>