Kopieren von Dateien aus Dateiliste
Hallo, kleine Frage zu kopieren einer Dateiliste. Ich finde zwar im Forum ähnliche Fragen, mir hilft aber keine so richtig weiter, ...
und ich soll einige hundert Bilder aus mehren Tausend suchen und entwickeln lassen
Ich nutze zum Erzeugen einer Dateiliste im Ordner E:\Bilder folgenden Befehl.
Dir E:\Bilder / a / b / o /d / s> Bilderliste.txt
Damit erhalte ich nun eine schöne Textdatei im Ordner E:\Bilder als Liste mit allen Bildern aus den Unterordnern.
Aus der Liste entferne ich nun nicht relevante Datensätze.
Im Anschluss daran möchte ich die Dateien der überarbeiteten Bilderliste.txt in den Ordern E:\Entwickeln kopieren.
Wie kann ich das nun mit einem batchfile lösen?
Gruß viking
und ich soll einige hundert Bilder aus mehren Tausend suchen und entwickeln lassen
Ich nutze zum Erzeugen einer Dateiliste im Ordner E:\Bilder folgenden Befehl.
Dir E:\Bilder / a / b / o /d / s> Bilderliste.txt
Damit erhalte ich nun eine schöne Textdatei im Ordner E:\Bilder als Liste mit allen Bildern aus den Unterordnern.
Aus der Liste entferne ich nun nicht relevante Datensätze.
Im Anschluss daran möchte ich die Dateien der überarbeiteten Bilderliste.txt in den Ordern E:\Entwickeln kopieren.
Wie kann ich das nun mit einem batchfile lösen?
Gruß viking
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 156444
Url: https://administrator.de/forum/kopieren-von-dateien-aus-dateiliste-156444.html
Ausgedruckt am: 10.01.2025 um 11:01 Uhr
23 Kommentare
Neuester Kommentar
Aloha,
dieser Beitrag hier hilft dir nicht weiter? Denn das Schema sieht mir doch sehr gleich aus (lässt sich ja noch variieren) à la include statt exclude.
greetz André
EDIT: hm so sollte es eigentlich klappen: (ausgehend davon, dass deine .txt-Datei im Verzeichnis E:\Bilder liegt
dieser Beitrag hier hilft dir nicht weiter? Denn das Schema sieht mir doch sehr gleich aus (lässt sich ja noch variieren) à la include statt exclude.
greetz André
EDIT: hm so sollte es eigentlich klappen: (ausgehend davon, dass deine .txt-Datei im Verzeichnis E:\Bilder liegt
@echo off
cd E:\Bilder
for /F "delims=," %%i in (Bilderliste.txt) do copy %%i E:\Entwickeln\
@Skyemugen
Etwas genauer (da ja auch Dateinamen/Pfade mit "," oder mit Leerzeichen enthalten sein könnten):
In dieser Version dürfte auch der Name oder der Pfad der Listendatei noch Leerzeichen enthalten ...
Grüße
bastla
Etwas genauer (da ja auch Dateinamen/Pfade mit "," oder mit Leerzeichen enthalten sein könnten):
@echo off & setlocal
for /f "usebackq delims=" %%i in ("E:\Bilderliste.txt") do copy "%%i" "E:\Entwickeln\" >nul
Grüße
bastla
@bastla
mhm stimmt, daran hatte ich jetzt beim Test nicht gedacht (wenn's mal wieder schnell gehen soll ^.^), in Sachen FOR bin ich ja noch am Lernen *lach* aber man tut, was man kann, hehe
Grüße André
mhm stimmt, daran hatte ich jetzt beim Test nicht gedacht (wenn's mal wieder schnell gehen soll ^.^), in Sachen FOR bin ich ja noch am Lernen *lach* aber man tut, was man kann, hehe
Grüße André
hallo zusammen!!!
ich habe lange gesucht im internetz und bin fast fündig hier geworden ;)
das batch file entspricht nicht ganz meinen vorstellungen.
was ich gern hätte, wäre:
habe eine verzeichnissliste
c:\test\blabla
c:\test\blablablabla
d:\test\blablablabla
d:\test\blablablablablablablabla
diese 4 verzeichnisse sollen mit inhalt (komplett) an einen von mir vorgegebenen ort kopiert werden.
wie müsste das script geändert werden?
danke für eure hilfe...
ein schönes we
ich habe lange gesucht im internetz und bin fast fündig hier geworden ;)
das batch file entspricht nicht ganz meinen vorstellungen.
was ich gern hätte, wäre:
habe eine verzeichnissliste
c:\test\blabla
c:\test\blablablabla
d:\test\blablablabla
d:\test\blablablablablablablabla
diese 4 verzeichnisse sollen mit inhalt (komplett) an einen von mir vorgegebenen ort kopiert werden.
wie müsste das script geändert werden?
danke für eure hilfe...
ein schönes we
Hallo Nightowl71 und ein etwas verspätetes Willkommen im Forum!
Im einfachsten Fall etwa so:
Es werden so am angegebenen Ziel die Verzeichnisse mit den ursprünglichen Namen (die Pfade werden dabei nicht beachtet) erstellt.
Grüße
bastla
Im einfachsten Fall etwa so:
@echo off & setlocal
set "Liste=D:\Deine Liste.txt"
set "Ziel=X:\Test"
for /f "usebackq delims=" %%i in ("%Liste%") do xcopy /e "%%i" "%Ziel%\%%~nxi\"
Grüße
bastla
ich nochmals
weis, das das sicher nicht das richtge thema dafür ist, vll gibt es ja trotzdem hilfe für mich!
problem robocopy
möchte ein verzeichniss meiner wahl spiegeln.
c:\test nach d:\test
nun sollen alle dateien nach d:\test kopiert werden und die veränderten datein (ersetzt durch die neuen, wenn es welche gibt) auch.
welche parameter müssen in der cmd line gesetzt werden.
problem winrar.
for /d %i in (*) do start /wait winrar x "%i"\*.zip "%i" << das scipt arbeit super, nur ein problem, wenn ich ein verzeichniss ohne zip datei habe, meckert winrar und bringt ne meldung "kein archiv gefunden", man muss auf okay klicken, dann geht es wie gewohnt weiter. lässt sich das umgehen ohne das man jedesmal auf okay klicken muss?
nochmals zu diesem winrar script.
was muss man ändern, wenn man archive entpacken möchte, die genau so verschachtelt sind.
c:\test\test\test\*.zip
ich gehe in das erste test verzeichniss, öffne cmd und möchte die zips in den jeweiligen verzeichnissen entpacken lassen.
oh oh
sehr viel auf einmal, ich weis!
ich wünsche schöne weihnachten!!!
glg
weis, das das sicher nicht das richtge thema dafür ist, vll gibt es ja trotzdem hilfe für mich!
problem robocopy
möchte ein verzeichniss meiner wahl spiegeln.
c:\test nach d:\test
nun sollen alle dateien nach d:\test kopiert werden und die veränderten datein (ersetzt durch die neuen, wenn es welche gibt) auch.
welche parameter müssen in der cmd line gesetzt werden.
problem winrar.
for /d %i in (*) do start /wait winrar x "%i"\*.zip "%i" << das scipt arbeit super, nur ein problem, wenn ich ein verzeichniss ohne zip datei habe, meckert winrar und bringt ne meldung "kein archiv gefunden", man muss auf okay klicken, dann geht es wie gewohnt weiter. lässt sich das umgehen ohne das man jedesmal auf okay klicken muss?
nochmals zu diesem winrar script.
was muss man ändern, wenn man archive entpacken möchte, die genau so verschachtelt sind.
c:\test\test\test\*.zip
ich gehe in das erste test verzeichniss, öffne cmd und möchte die zips in den jeweiligen verzeichnissen entpacken lassen.
oh oh
sehr viel auf einmal, ich weis!
ich wünsche schöne weihnachten!!!
glg
Hallo Nightowl71!
Um in ein Unterverzeichnis "1" zu entpacken eher so:
Alle Ansätze sind übrigens ungetestet ...
Grüße
bastla
nun sollen alle dateien nach d:\test kopiert werden und die veränderten datein (ersetzt durch die neuen, wenn es welche gibt) auch.
Versuch es mit dem Schalter "/xo
".for /d %i in (*) do start /wait winrar x "%i"\*.zip "%i"
Etwa so:for /d %i in (*) do if exist "%i\*.zip" winrar x "%i\*.zip" "%i"
was muss man ändern, wenn man archive entpacken möchte, die genau so verschachtelt sind.
Wenn für die Datei "c:\test\test\test\1.zip" das Zielverzeichnis "c:\test\test\test" sein soll, könnte das so gehen:for /r "c:\test" %i in (*.zip) do winrar x "%i" "%~dpi"
for /r "c:\test" %i in (*.zip) do winrar x "%i" "%~dpni"
Grüße
bastla
hi bastla,
hab bis eben das testen des scripts völlig ignoriert, weil ich keine lust hatte, viele zips auf pause zu setzten oder ich was falsches eingebe etc. also mit dem start /wait befehl geht das so, wie ich es wollte!!!!
das script liest die verzeichnisse und überspringt verzeichnisse wo keine zips enthalten sind....
fetzt
viel arbeit erspart dankt deiner hilfe...
in wie weit das geht, wenn die strucktur anders ist, habe ich noch ncht getestet,,,,,
ein grosses dankeschön, wenn auch verspätet!!!!!!
bei problemen, weis ich, wo ich einen fähigen menschen fragen kann ;)
hab bis eben das testen des scripts völlig ignoriert, weil ich keine lust hatte, viele zips auf pause zu setzten oder ich was falsches eingebe etc. also mit dem start /wait befehl geht das so, wie ich es wollte!!!!
das script liest die verzeichnisse und überspringt verzeichnisse wo keine zips enthalten sind....
fetzt
viel arbeit erspart dankt deiner hilfe...
in wie weit das geht, wenn die strucktur anders ist, habe ich noch ncht getestet,,,,,
ein grosses dankeschön, wenn auch verspätet!!!!!!
bei problemen, weis ich, wo ich einen fähigen menschen fragen kann ;)
Wenn für die Datei "c:\test\test\test\1.zip" das Zielverzeichnis "c:\test\test\test" sein soll, könnte das so gehen:
for /r "c:\test" %i in (*.zip) do start /wait "C:\Programme\WinRAR\winrar" "%i" "%~dpi" <<< das geht mit der ordner strucktur
aber nicht in c:\test\1.zip (mit start /wait) befehl....
widerum, was muss man ändern...wenn ich das entpacken möchte!!!!
wenn das geht, werde ich so schnell nicht wieder nerven
for /r "c:\test" %i in (*.zip) do start /wait "C:\Programme\WinRAR\winrar" "%i" "%~dpi" <<< das geht mit der ordner strucktur
aber nicht in c:\test\1.zip (mit start /wait) befehl....
widerum, was muss man ändern...wenn ich das entpacken möchte!!!!
wenn das geht, werde ich so schnell nicht wieder nerven
Hi,
ich bin durch Google auf diesen Thread aufmerksam geworden, und habe das Batchfile für meine Bedürfnisse angepasst. Es funktioniert auch alles super :D
Nun würde ich gerne noch etwas hinzufügen...
wenn in der Liste(nur PDFs) eine Datei zweimal vorhanden ist, müsste sie auch zweimal kopiert werden und dazu (mit einem Zähler?) umbenannt werden.
Kurz zum Hintergrund.
Ich erhalte jeden Tag mehrere Bestellung als Excel Tabelle. Aus diesen Tabellen erzeuge ich dann die Dateilisten für die batch-Datei.
Die Liste kann Dateien enthalten die:
A ) nicht vorhanden sind
B) vorhanden sind
C) mehrfach vorhanden sind
Momentan habe ich folgenden Ablauf.
1. Bestellliste in meine Exceltabelle importieren
2. Dateiliste wird erzeugt
3. Batchskript startet automatisch und kopiert die Dateien in einen Ordner und schreibt den Ordnerinhalt in ein Textfile
4. Das Textfile des Ordnerinhaltes wird wieder in Excel importiert.
5. Liste wird nun nach vorhandenen und nicht vorhanden Dateien sortiert und ausgegeben
6. Dateien die mehrfach vorhanden waren, werden jetzt manuell vervielfacht <-- DAS MÖCHTE ICH VERMEIDEN
7. Im Anschluss werden die Daten in einem Layoutprogramm verschachtelt und Druckbögen erzeugt.
Ist mein Anliegen verständlich??
ich bin durch Google auf diesen Thread aufmerksam geworden, und habe das Batchfile für meine Bedürfnisse angepasst. Es funktioniert auch alles super :D
Nun würde ich gerne noch etwas hinzufügen...
wenn in der Liste(nur PDFs) eine Datei zweimal vorhanden ist, müsste sie auch zweimal kopiert werden und dazu (mit einem Zähler?) umbenannt werden.
Kurz zum Hintergrund.
Ich erhalte jeden Tag mehrere Bestellung als Excel Tabelle. Aus diesen Tabellen erzeuge ich dann die Dateilisten für die batch-Datei.
Die Liste kann Dateien enthalten die:
A ) nicht vorhanden sind
B) vorhanden sind
C) mehrfach vorhanden sind
Momentan habe ich folgenden Ablauf.
1. Bestellliste in meine Exceltabelle importieren
2. Dateiliste wird erzeugt
3. Batchskript startet automatisch und kopiert die Dateien in einen Ordner und schreibt den Ordnerinhalt in ein Textfile
4. Das Textfile des Ordnerinhaltes wird wieder in Excel importiert.
5. Liste wird nun nach vorhandenen und nicht vorhanden Dateien sortiert und ausgegeben
6. Dateien die mehrfach vorhanden waren, werden jetzt manuell vervielfacht <-- DAS MÖCHTE ICH VERMEIDEN
7. Im Anschluss werden die Daten in einem Layoutprogramm verschachtelt und Druckbögen erzeugt.
Ist mein Anliegen verständlich??
Hallo rum3baer und willkommen im Forum!
Für das Hinzufügen eines Zählers bei bereits vorhandener Zieldatei solltest Du einige Beispiele hier im Forum finden - eines davon schematisch etwa hier ...
Grüße
bastla
Für das Hinzufügen eines Zählers bei bereits vorhandener Zieldatei solltest Du einige Beispiele hier im Forum finden - eines davon schematisch etwa hier ...
Grüße
bastla
Hi
auch ich habe dies Batch verwendet und es funktioniert soweit ganz gut, außer:
In meiner Textdatei mit den Quelldateien sind Sonderzeichen, wie ñ oder ä,öü.
Diese Dateien werden dann jeweils nicht kopiert. Was kann ich da machen?
Gruß und Danke
Patrick
auch ich habe dies Batch verwendet und es funktioniert soweit ganz gut, außer:
In meiner Textdatei mit den Quelldateien sind Sonderzeichen, wie ñ oder ä,öü.
setlocal
for /f "usebackq delims=" %%i in ("C:\quelldatei.txt") do copy "%%i" "C:\ZielOrdner\"
pause
Diese Dateien werden dann jeweils nicht kopiert. Was kann ich da machen?
Gruß und Danke
Patrick
setlocal
for /f "usebackq delims=" %%i in ("C:\Users\DJ Pult\Desktop\Dateilisten kopieren\test.txt") do (chcp 1252 copy "%%i" "C:\Users\DJ Pult\Desktop\Dateilisten kopieren\test_kopiert\" chcp 850)
pause
So habe ich es jetzt versucht, doch es funktioniert immer noch nicht. Kann mir jemand helfen. Bin dankbar für jede Hilfe.
Gruß
Hallo zusammen,
nachdem ich schon einige Foren durch habe und am Verzweifeln bin, muss ich doch mal in diesem Thread einsteigen und um Hilfe bitten.
Auch ich möchte div. Dateien anhand einer Liste suchen (Hauptverzeichnis inkl. Unterverzeichnisse) und die gefundenen Dateien in ein bestimmtes Zielverzeichnis kopieren. Klasse, wäre noch, wenn eine Art Log erstellt werden würde von den Dateien, die nicht gefunden wurden aber das ist optional. Bin ja schon froh, wenn ich knapp 700 Dateien nicht von Hand suchen muss.
Ich arbeite an einem Windows-Rechner (Windows 7) und habe folgendes Script in einer Batch-Datei verwendet:
Das war erst einmal nur ein Testverzeichnis mit wenig Daten.
Beim Ausführen kommt keine Meldung aber es werden auch keine Dateien kopiert.
Habe verschiedene Listen getestet:
1. nur Bildname (AB12345)
2. Bildname mit Endung (AB12345.jpg)
3. Variante 1+2 mit dem kompletten Pfad.
Über Hilfe wäre ich sehr dankbar.
VG
Eldebs
nachdem ich schon einige Foren durch habe und am Verzweifeln bin, muss ich doch mal in diesem Thread einsteigen und um Hilfe bitten.
Auch ich möchte div. Dateien anhand einer Liste suchen (Hauptverzeichnis inkl. Unterverzeichnisse) und die gefundenen Dateien in ein bestimmtes Zielverzeichnis kopieren. Klasse, wäre noch, wenn eine Art Log erstellt werden würde von den Dateien, die nicht gefunden wurden aber das ist optional. Bin ja schon froh, wenn ich knapp 700 Dateien nicht von Hand suchen muss.
Ich arbeite an einem Windows-Rechner (Windows 7) und habe folgendes Script in einer Batch-Datei verwendet:
@echo off &setlocal
set "sourceRoot=C:\Users\user13\Desktop\Dateisuche-Kopieren\lager\"
set "sourceList=C:\Users\user13\Desktop\Dateisuche-Kopieren\art-liste.txt"
set "destFolder=C:\Users\user13\Desktop\Dateisuche-Kopieren\kopie\"
for /f "delims=" %%i in ('dir /a:-d /b /s "%sourceRoot%\*.jpg"^|findstr /ig:"%sourceList%"') do (
copy "%%~i" "%destFolder%\"
)
PAUSE
Das war erst einmal nur ein Testverzeichnis mit wenig Daten.
Beim Ausführen kommt keine Meldung aber es werden auch keine Dateien kopiert.
Habe verschiedene Listen getestet:
1. nur Bildname (AB12345)
2. Bildname mit Endung (AB12345.jpg)
3. Variante 1+2 mit dem kompletten Pfad.
Über Hilfe wäre ich sehr dankbar.
VG
Eldebs