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-Key: 298863

Url: https://administrator.de/contentid/298863

Printed on: April 19, 2024 at 13:04 o'clock

Member: AnkhMorpork
AnkhMorpork Mar 11, 2016 at 11:21:08 (UTC)
Goto Top
Sortier dich erst mal. Powershell hat mit .bat nix zu tun. Da liegen Welten dazwischen!

Ankh
Member: DelPinguino
DelPinguino Mar 11, 2016 at 11:24:05 (UTC)
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
Mitglied: 114757
Solution 114757 Mar 11, 2016 updated at 11:38:12 (UTC)
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
Member: DelPinguino
DelPinguino Mar 11, 2016 at 11:45:48 (UTC)
Goto Top
Perfekt face-wink

Vielen Vielen Dank