scorpion3

Batch Aus einer .txt datei Zeilen auslesen und in die .bat einfügen

Ich wollte eine kleine Kopier bat schreiben und das man in einer .txt datei angibt welche Datei man wohin kopiern möchte. z.b. "I:\Test\Neu.txt" (neue Zeile)nach "I:\Test2\" im textdokument soll es so aussehen:
I:\Test\Neu.txt
I:\Test2\

bisher sieht mein Geschriebenes so aus:

@echo off
title Backup
echo.
echo.
echo Backup wird gestartet
pause

if exist "I:\Test\Neu.txt\" goto a
goto b

:a
echo Datei vorhanden!
pause
goto c

:c
xcopy "I:\Test\Neu.txt" "I:\Test2\"

if exist "I:\Test\" goto g
goto f

:b
color 0c
echo Datei nicht vorhanden!
goto f

:f
echo Backup fehlgeschlagen!
color 0c
pause
exit

:g
echo Backup erfolgreich!
color 0a
pause
exit

ich muss die angaben aus der .txt Datei an die richtige stelle bekommen...

.txt 1 Zeile: Muss in die 1. if und in den xcopy eingefügt werden.
.txt 2 Zeile: Muss in das 2. if und in das zweite von xcopy rein.

Kann mir einer sagen wie das geht?
Danke schonmal!
Scorpion3
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 186805

Url: https://administrator.de/forum/batch-aus-einer-txt-datei-zeilen-auslesen-und-in-die-bat-einfuegen-186805.html

Ausgedruckt am: 18.05.2025 um 14:05 Uhr

bastla
bastla 20.06.2012 aktualisiert um 22:14:16 Uhr
Goto Top
Hallo Scorpion3 und willkommen im Forum!

Ich halte zwar die Aufteilung der beiden Pfade in der Textdatei (in meinem Beispiel: "I:\Test\Config.txt") auf 2 Zeilen nicht für sinnvoll, aber umsetzen ließe sich das unter Verwendung von Variablen etwa so:
setlocal
set "Quelle="  
set "Ziel="  
for /f "usebackq delims=" %%i in ("I:\Test\Config.txt") do (  
    if not defined Quelle (
        set "Quelle=%%i"  
    ) else (
        if not defined Ziel set  "Ziel=%%i"  
    )
)
if not defined Ziel echo Keine Zielangabe gefunden! & pause & goto :eof

if exist "%Quelle%" ...  
Durch die "defined"-Abfragen wird sichergestellt, dass nur die ersten beiden Zeilen der Datei verwendet werden und dass auch tatsächlich ein Ziel gelesen werden konnte ...

Grüße
bastla
Scorpion3
Scorpion3 21.06.2012 um 15:19:02 Uhr
Goto Top
Danke für deine Antwort,

ich muss die angaben aus der .txt Datei an die richtige stelle bekommen...

.txt 1 Zeile: Muss in die 1. if und in den xcopy eingefügt werden.
.txt 2 Zeile: Muss in das 2. if und in das zweite von xcopy rein.

so wie ich das unten Geschriebene verstehe sind die zwei Pfade unten nicht getrennt...
also was kopiert werden soll und wo hin.

ich bin nicht so erfahren mit batch Dateien alo wo genau müsste ich das dann einfügen damit es auch klappt?
bastla
bastla 21.06.2012 um 16:13:29 Uhr
Goto Top
Hallo Scorpion3!

Du hast ja nach dem oben skizzierten Schnipsel Quelle und Ziel jeweils in der gleichnamigen Variablen - daher überall, wo bisher in Deinem Batch "I:\Test\Neu.txt\" steht, einfach "%Quelle%" einsetzen und analog dazu auch beim Ziel vorgehen ...

Grüße
bastla
Scorpion3
Scorpion3 21.06.2012 um 18:26:06 Uhr
Goto Top
Hallo bastla,
danke es klappt

Grüße
Scorpion3