In Batchdatei mit Powershell Datum in CSV Datei ergänzen
Hallo zusammen,
ich benötige nochmal euer Schwarmwissen.
Ich habe eine Batch Datei welche mir eine aus der Wawi exportierte CSV Datei wie folgt bearbeitet.
Hier erstmal ein Teil der Datei:
Artikelnummer;Verfuegbar;Bearbeitung
NR-CTO7;0;7
NR-CTO6;0;7
NR-CTO5;0;7
NR-CT8;3;7
NR-CT7;0;7
NR-CT6;-2;7
NR-CT5;0;7
NR-51615-616;0;7
NR-51615-615;55;7
NR-51615;55;7
NR-51614-616;0;7
NR-51614-615;0;7
NR-51614;0;7
NR-51610-616;-10;7
NR-51610-615;1;7
NR-51610;0;7
In spalte 2 bleibt jetzt alles was auf 0 ist auf 0
Was größer als 5 ist wird auf 6 gesetzt und alles was kleiner als 0 also im Minusbereich wird auf Null gesetzt.
Jetzt soll in der Spalte 3 mit dem Aktuellen Datum plus den Wert in dieser Spalte gesetzt werden. Also wäre das heute dann der 14.09.2018
Datumformat sollte auch so sein.
Danach wird die Datei wieder als CSV gespeichert.
Hier das Script was ich bisher nutze und als Batch ausführe:
@echo on
CHCP 1252
powershell -Executionpolicy ByPass -NoProfile -Command "Import-Csv 'C:\JTL_Upload\Stocklist_exp.csv' -Delimiter ';' -Encoding default| %%{$betrag = [decimal]::Parse($_.Verfuegbar,[cultureinfo]::GetCultureInfo('de')); if ($betrag -lt 0){$_.Verfuegbar = 0}elseif($betrag -gt 5){$_.Verfuegbar = 6};$_} | export-csv 'C:\JTL_Upload\stocklist.csv' -Delimiter ';' -NoTypeInformation -Encoding default"
Vielen Dank für eure Hilfe.
ich benötige nochmal euer Schwarmwissen.
Ich habe eine Batch Datei welche mir eine aus der Wawi exportierte CSV Datei wie folgt bearbeitet.
Hier erstmal ein Teil der Datei:
Artikelnummer;Verfuegbar;Bearbeitung
NR-CTO7;0;7
NR-CTO6;0;7
NR-CTO5;0;7
NR-CT8;3;7
NR-CT7;0;7
NR-CT6;-2;7
NR-CT5;0;7
NR-51615-616;0;7
NR-51615-615;55;7
NR-51615;55;7
NR-51614-616;0;7
NR-51614-615;0;7
NR-51614;0;7
NR-51610-616;-10;7
NR-51610-615;1;7
NR-51610;0;7
In spalte 2 bleibt jetzt alles was auf 0 ist auf 0
Was größer als 5 ist wird auf 6 gesetzt und alles was kleiner als 0 also im Minusbereich wird auf Null gesetzt.
Jetzt soll in der Spalte 3 mit dem Aktuellen Datum plus den Wert in dieser Spalte gesetzt werden. Also wäre das heute dann der 14.09.2018
Datumformat sollte auch so sein.
Danach wird die Datei wieder als CSV gespeichert.
Hier das Script was ich bisher nutze und als Batch ausführe:
@echo on
CHCP 1252
powershell -Executionpolicy ByPass -NoProfile -Command "Import-Csv 'C:\JTL_Upload\Stocklist_exp.csv' -Delimiter ';' -Encoding default| %%{$betrag = [decimal]::Parse($_.Verfuegbar,[cultureinfo]::GetCultureInfo('de')); if ($betrag -lt 0){$_.Verfuegbar = 0}elseif($betrag -gt 5){$_.Verfuegbar = 6};$_} | export-csv 'C:\JTL_Upload\stocklist.csv' -Delimiter ';' -NoTypeInformation -Encoding default"
Vielen Dank für eure Hilfe.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 385781
Url: https://administrator.de/contentid/385781
Ausgedruckt am: 19.11.2024 um 11:11 Uhr
8 Kommentare
Neuester Kommentar
@echo off
powershell -Executionpolicy ByPass -NoProfile -Command "Import-Csv 'C:\JTL_Upload\Stocklist_exp.csv' -Delimiter ';' -Encoding default| %%{$betrag = [decimal]::Parse($_.Verfuegbar,[cultureinfo]::GetCultureInfo('de')); if ($betrag -lt 0){$_.Verfuegbar = 0}elseif($betrag -gt 5){$_.Verfuegbar = 6};$_.Bearbeitung = (Get-Date).AddDays([int]$_.Bearbeitung).toString('┌∩┐ dd.MM.yyyy ┌∩┐');$_} | export-csv 'C:\JTL_Upload\stocklist.csv' -Delimiter ';' -NoTypeInformation -Encoding default"
Schau dir einfach die If-Abfrage im bestehenden Code an dann schaffst du das auch alleine, sonst lernst du nüscht.
Nehme ich die falsche Variable?
Ja. Du brauchst offensichtlich zehn Tassen Kaffee, du schreibst oben du willst Verfuegbarkeit prüfen und nimmst den Betrag in der Condition???? Ehrlich gesagt ziemlich ...@echo off
powershell -Executionpolicy ByPass -NoProfile -Command "Import-Csv 'C:\JTL_Upload\Stocklist_exp.csv' -Delimiter ';' -Encoding default| %%{$betrag = [decimal]::Parse($_.Verfuegbar,[cultureinfo]::GetCultureInfo('de')); if ($betrag -lt 0){$_.Verfuegbar = 0}elseif($betrag -gt 5){$_.Verfuegbar = 6};if([int]$_.Verfuegbar -eq 0){$_.Bearbeitung = (Get-Date).AddDays([int]$_.Bearbeitung).toString('┌∩┐ dd.MM.yyyy ┌∩┐')};$_} | export-csv 'C:\JTL_Upload\stocklist.csv' -Delimiter ';' -NoTypeInformation -Encoding default"