66633

Batch-Datei zum kopieren

Hallo,

ich hab noch nie eine Batch-Datei erstellt und hab folgende frage.
Ich habe eine Textdatei in der in jeder Zeile eine Nummer steht. Des Weiteren hab ich noch eine PDF-Datei "Test.pdf".
Ich brauche jetzt ein Batch-Skript, welches auf die Textdatei zugreift, jede Nummer liest für jede Nummer die PDF-Datei kopiert. Zum beispiel stehen in der Textdatei die Nummern:
122
233
232
Das Skript soll dann 3 kopien von der ürsprünglichen Test.pdf im Ordner C:\ machen und die wie folgt benennen: 122_Test.pdf, 233_Test.pdf, 232_Test.pdf.

Ich hoffe ihr könnt mir weiterhelfen. Bin absoluter Newbie

Danke !!!
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 90624

Url: https://administrator.de/forum/batch-datei-zum-kopieren-90624.html

Ausgedruckt am: 25.07.2025 um 15:07 Uhr

bastla
bastla 25.06.2008 um 12:06:23 Uhr
Hallo skater874 und willkommen im Forum!

Dazu genügt es eigentlich, mit "Start / Ausführen / cmd" eine Commandshell zu öffnen und folgende Zeile einzugeben:
for /f %i in (C:\Liste.txt) do @copy C:\Test.pdf C:\%i_Test.pdf>nul
Wenn Du daraus eine Batchdatei machen willst, jeweils anstelle von "%i" "%%i" schreiben.

Grüße
bastla
66633
66633 25.06.2008 um 13:00:31 Uhr
Das soll allerdings in einen neuen Ordner rein, also:

for /f %i in (C:\Liste.txt) do copy C:\Test.pdf C:\neuerOrdner\%i_Test.pdf

nur geht der Befehl irgendwie nicht.

Wenn ich es so mache:

for /f %i in (C:\Liste.txt) do xcopy C:\Test.pdf C:\neuerOrdner\%i_Test.pdf

Da fragt er mich jedesmal obs ein Dateiname oder verzeichsniname ist, was sehr nervig ist. Wie unterbinde ich das?
Biber
Biber 25.06.2008 um 13:48:44 Uhr
Moin skater874,

willkommen im Forum.
Wie unterbinde ich das?
Besser planen und nicht so rumzappeln beim Bätchen.

Du hast ja jetzt (ein bisschen abweichend vom Plan oben) das Ziel
  • einmal einen neuen Ordner anzulegen (falls nicht da)
  • x-mal eine Datei unter einem neuen Namen dorthin zu kopieren.

Das "einmalige" ist eine Anweisung, das x-malige gehört in eine Schleifenanweisung.
if not exist "C:\neuerOrdner" md "C:\neuerOrdner"  
for /f %i in (C:\Liste.txt) do @copy C:\Test.pdf C:\neuerOrdner\%i_Test.pdf>nul

Und wenn Du mit Bätchen einsteigst... halte es flach und simpel.
Zum Kopieren einer Datei ist der COPY-Befehl das richtige Werkzeug.
Lass den XCopy noch mal einen Tag liegen für Deine Phase-Zwei-Bätche.

Grüße
Biber

P.S. und nicht nur "bastla /?" tippen, sondern auch mal "xcopy /?" oder so...