delpinguino
Goto Top

Powershell Wenn-Dann bzw. If-Then Funktion für .csv nutzen

Hallo zusammen,

ich habe bereits mehrfach sehr nützliche Informationen hier gefunden und bin deshalb guter Dinge, dass mir auch in diesem Fall geholfen werden kann.

Ausgangssituation:
Ich habe eine .csv Datei mit 3 Spalten (Artikelnummer, Bearbeitungszeit, Lagerbestand)

Ziel:
Sobald in Spalte "Lagerbestand" eine Zahl >1 ist, soll in der Spalte "Bearbeitungszeit" in der zugehörigen Zeile eine 5 erscheinen.

Ich möchte später diesen Befehl in einer .bat nutzen um einen automatischen Abgleich von Lieferzeiten zu generieren. Wäre super, wenn mir hierfür jemand weiterhelfen könnte.

Lg DelPinguino


[Edit Biber] Verschoben von "MS Office" nach "Batch & Shell". [/Edit]

Content-ID: 298863

Url: https://administrator.de/forum/powershell-wenn-dann-bzw-if-then-funktion-fuer-csv-nutzen-298863.html

Ausgedruckt am: 21.04.2025 um 23:04 Uhr

AnkhMorpork
AnkhMorpork 11.03.2016 um 12:21:08 Uhr
Goto Top
Sortier dich erst mal. Powershell hat mit .bat nix zu tun. Da liegen Welten dazwischen!

Ankh
DelPinguino
DelPinguino 11.03.2016 um 12:24:05 Uhr
Goto Top
Ja das stimmt Teilweise. Jedoch kann ein PowerShell Befehl in einer .bat ausgeführt werden und somit verknüpft es sich doch irgendwie wieder face-wink
114757
Lösung 114757 11.03.2016 aktualisiert um 12:38:12 Uhr
Goto Top
$csv = Import-CSV 'C:\datei.csv' -Delimiter ';'   
$csv | %{if([double]$_.Lagerbestand -gt 1){$_.Bearbeitungszeit = 5}} 
$csv | export-csv 'C:\datei.csv' -Delimiter ";" -NoType -Encoding UTF8  
Für eine Batch aufbereitet:
@echo off
powershell -Executionpolicy Bypass -Command "$csv = Import-CSV 'C:\datei.csv' -Delimiter ';' ; $csv | %%{if([double]$_.Lagerbestand -gt 1){$_.Bearbeitungszeit = 5}}; $csv | export-csv 'C:\datei.csv' -Delimiter ';' -NoType -Encoding UTF8"  
Gruß jodel32
DelPinguino
DelPinguino 11.03.2016 um 12:45:48 Uhr
Goto Top
Perfekt face-wink

Vielen Vielen Dank