Anpassung eines Batchskript

batch_prog

Cadet 2nd Year
Registriert
März 2017
Beiträge
27
Guten Abend,

mit einer Batch möchte ich gerne anhand einer Spalte die Zeilen vervielfältigen, was ich mit nachfolgender Batch erreiche:

Eingabe:

Code:
TEST0;TEST1;WERT1;WERT2;WERT3;WERT4;WERT5;WERT6;3;

Batch:

Code:
@echo off
set "quelle=C:\Users\User-01\quelle_001.txt"
set "ziel=C:\Users\User-01\ziel_001.csv"
>"%ziel%" (for /f "usebackq tokens=1-9 delims=;" %%a in ("%quelle%") DO for /L %%z in (1 1 %%i) do echo %%a;%%b;%%c;%%d;%%e;%%f;%%g;%%h;%%i;)

Ausgabe:

Code:
TEST0;TEST1;WERT1;WERT2;WERT3;WERT4;WERT5;WERT6;3;
TEST0;TEST1;WERT1;WERT2;WERT3;WERT4;WERT5;WERT6;3;
TEST0;TEST1;WERT1;WERT2;WERT3;WERT4;WERT5;WERT6;3;

Jetzt möchte ich aber dabei folgendes erreichen, dass in der ersten Zeile Wert2-Wert6 gelöscht wird und in zweiten Zeile auch Wert2-Wert6 gelöscht wird, aber in Zeile 2 in der 3. Spalte der Wert aus der 4. Spalte geschrieben wird, usw.:

Code:
TEST0;TEST1;WERT1;;;;;;3;
TEST0;TEST1;WERT2;;;;;;3;
TEST0;TEST1;WERT3;;;;;;3;

Wenn in der letzten Zeile bspw. eine 4 steht, sollte in der 3. Spalte WERT4 stehen.

Wer kann mir helfen?
 
Muss es batch sein oder geht auch ps1?
 
  • Gefällt mir
Reaktionen: batch_prog und Mystery1988
Ernst gemeinte Antwort: Lass es sein. Batch is a bitch und für alles was über das banale Aneinanderreihen von Befehlen hinausgeht, ist Batch nicht geeignet. Nutze stattdessen zB PowerShell.
 
  • Gefällt mir
Reaktionen: abcddcba
Danke für das Feedback: Wie würde es denn in PowerShell aussehen?
 
Zurück
Oben