Batch - mehrere Text-Dateien erstellen
Hallo Zusammen,
Ich habe folgenden Script:
Frage:
wie kann ich den Script um folgende Use case erweitern?
Use case 1:
Wenn %NumberOfBoxes% kleiner als 2 ist, dann Textdatei erstellen mit dem Inhalt aus %LPN%. Beispiel Dateiname: LPN123.TXT
Use case 2:
Wenn %NumberOfBoxes% größer 2 ist, dann:
so viele Text-Dateien erstellen wie es in %NumberOfBoxes% angegeben ist.
Beispiel %NumberOfBoxes% = 2, dann sollen 2 Text-Dateien erstellt werden:
Vielen Dank im Voraus!
Ich habe folgenden Script:
@echo off
:metka
SET /p LPN=[Please scan/add LPN-nr.]
SET /p NumberOfBoxes=[Please add number of boxes/quantity]
echo %LPN%
echo %NumberOfBoxes%
if %LPN%==0 (goto:metka)
pause
Frage:
wie kann ich den Script um folgende Use case erweitern?
Use case 1:
Wenn %NumberOfBoxes% kleiner als 2 ist, dann Textdatei erstellen mit dem Inhalt aus %LPN%. Beispiel Dateiname: LPN123.TXT
Use case 2:
Wenn %NumberOfBoxes% größer 2 ist, dann:
so viele Text-Dateien erstellen wie es in %NumberOfBoxes% angegeben ist.
Beispiel %NumberOfBoxes% = 2, dann sollen 2 Text-Dateien erstellt werden:
- LPN123.TXT (Inhalt aus %LPN%: LPN123)
- LPN123-2.TXT (Inhalt aus %LPN%: LPN123-2)
Vielen Dank im Voraus!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 576722
Url: https://administrator.de/forum/batch-mehrere-text-dateien-erstellen-576722.html
Ausgedruckt am: 18.04.2025 um 16:04 Uhr
6 Kommentare
Neuester Kommentar

@echo off
:metka
SET /p LPN=[Please scan/add LPN-nr.]
SET /p NumberOfBoxes=[Please add number of boxes/quantity]
if "%LPN%"=="0" goto metka
if "%NumberOfBoxes%"=="0" goto metka
for /L %%a in (1 1 %NumberOfBoxes%) do (
if %%a == 1 (
echo.>"%LPN%.txt"
) else (
echo.>"%LPN%-%%a.txt"
)
)
pause
Hallo,
Vergleichen of größer oder kleiner kannst du mit dem IF:
In eine Datei schreiben ist rein einfaches Echo mit umleitung der Ausgabe
Und mehrere Dateien erstellen kannst du indem du eine Schleife darum legst:
Gruß
...
Vergleichen of größer oder kleiner kannst du mit dem IF:
IF-Befehl folgendermaßen verändert:
IF [/I] Zeichenfolge1 Vergleichsoperator Zeichenfolge2 Befehl
IF CMDEXTVERSION Zahl Befehl
IF DEFINED Variable Befehl
Mögliche Vergleichsoperatoren:
EQU - gleich
NEQ - nicht gleich
LSS - kleiner als
LEQ - kleiner als oder gleich
GTR - größer als
GEQ - größer als oder gleich
In eine Datei schreiben ist rein einfaches Echo mit umleitung der Ausgabe
echo Text > Datei.txt
Und mehrere Dateien erstellen kannst du indem du eine Schleife darum legst:
FOR /L %%i IN (1,1,5) DO echo Text in Datei-%%i.txt
Gruß
...

Zitat von @bikalexander:
Frage (habe bei dem ersten Post vergessen zu erwähnen):
jede erstellte Datei sollte fixen Text vor und nach dem Inhalt ais der Variable %LPN%.
Und wo ist das Problem??Frage (habe bei dem ersten Post vergessen zu erwähnen):
jede erstellte Datei sollte fixen Text vor und nach dem Inhalt ais der Variable %LPN%.
Wie kann ich es umsetzen?
Einfach zwei Variablen mit den Texten definieren und dann diese in den Echo Befehlen einsetzen, fertig.Das bekommt auch ein Anfänger in zwei Minuten oben eingebaut.
Vielen Dank im Voraus!

@echo off
set "TEXT=BlaBlub"
:metka
SET /p LPN=[Please scan/add LPN-nr.]
SET /p NumberOfBoxes=[Please add number of boxes/quantity]
if "%LPN%"=="0" goto metka
if "%NumberOfBoxes%"=="0" goto metka
for /L %%a in (1 1 %NumberOfBoxes%) do (
if %%a == 1 (
>"%LPN%.txt" (echo.%TEXT%%LPN%%TEXT%)
) else (
>"%LPN%-%%a.txt" (echo.%TEXT%%LPN%%TEXT%)
)
)
pause