Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

batch: dateinamen auslesen und dateien in ordner kopieren

user_4 / 5 Antworten / Baumansicht Nickles

Hallo,

ich möchte aus einer Textdatei in der Form:

123.jpg
hbgiugiu.jpg
6556g4b.jpg
bubu.jpg

die Dateinamen auslesen und diese Dateien aus dem Ordner in dem die Dateien und die Batchdatei liegen in einen neuen Unterordner kopieren.

Zu gut deutsch: ich muss aus einem Ordner mit ein paar tausend Bildern, die rauskopieren, die in dem Textfile aufgelistet sind.

Mit Batch-Dateien, habe ich noch nie was gemacht, wäre deshalb über Hilfe bzw. eine Lösung froh. Ein vorhandenes Script kann ich mir eventuell selber anpassen.

Vielen Dank!

bei Antwort benachrichtigen
Andreas42 user_4 „batch: dateinamen auslesen und dateien in ordner kopieren“
Optionen

Hi!

Das man Dateinamen in einer Dateiliste übergeben konnte war früher eine Besonderheit etlicher Befehle in DRDOS (später NovellDOS). MSDOS und die entsprechenden Befehle in Win9x/ME konnten das nicht (AFAIK).

Was WinXP angeht, muss ich mal kurz nachsehen, was XCOPY unterstützt.

Ne, der unterstützt das nicht. Bevor wir hier jetzt über Alternativen diskutieren, solltest du uns kurz zurückschreiben, welches Betriebssystem du verwendest. da kann man dann gezielt nach Skriptlösungen suchen (gegebenenfalls müsste ja erst die passende Skriptengine installiert werden).

Ein Lösungansatz wäre aus der vorliegenden Datei durch anfügen von fixen Zeichenketten vor den vorhandenen Zeilen und danach eine Batchdatei zu erzeugen, die das gewünschte dann ausführt.

Bis dann
Andreas

Hier steht was ueber mein altes Hard- und Softwaregedoens.
bei Antwort benachrichtigen
peterson Andreas42 „Hi! Das man Dateinamen in einer Dateiliste übergeben konnte war früher eine...“
Optionen

Er will keine Dateinamen in eine Datei übergeben.

Er möchte aus einer Textdatei die Namen auslesen und diese Dateien dann woanders hinkopieren.

Mit einer Übergabe kannst Du es zB. so machen:

Du schreibst eine batch-Datei, die nennst Du wie Du möchtest, zB. T.bat

Der Inhalt:

@echo off
Xcopy %1.jpg {Ordner Deiner Wahl}

Wenn Du diese Datei nun mit einem Bildnamen aufruft, zB. T 123, dann kopiert sie die Datei 123.jpg in Deinen Order.

Wie man das aber nun automatisiweren kann, das weiß ich nicht.

bei Antwort benachrichtigen
xafford user_4 „batch: dateinamen auslesen und dateien in ordner kopieren“
Optionen

batchcopy.bat



Der Aufruf erfolgt so:

batchcopy.bat Textdateiname Quellordner Zielordner

Pauschalurteile sind immer falsch!!!
bei Antwort benachrichtigen
Andreas42 xafford „batchcopy.bat Der Aufruf erfolgt so: batchcopy.bat Textdateiname Quellordner...“
Optionen

Hi!

Da sieht man mal wieder, dass ich bei MSDOS 6.2 stehen geblieben bin. damals wusste ich noch, was geht und was nicht. Jetzt muss ich offenbar wieder mehr suchen. ;-)

Bis dann
Andreas

Hier steht was ueber mein altes Hard- und Softwaregedoens.
bei Antwort benachrichtigen
xafford Nachtrag zu: „batchcopy.bat Der Aufruf erfolgt so: batchcopy.bat Textdateiname Quellordner...“
Optionen

@echo off

FOR /F "eol=; tokens=1* " %%i in (%1) do xcopy %2\\%%i %3\\

Pauschalurteile sind immer falsch!!!
bei Antwort benachrichtigen