Mehrere und verschiedene Dateien von Ordner A in Ordner B verschieben
Suche Alternative zu "MOVE [/Y| /-Y] [Laufwerk:][Pfad]Datei1[,...] Ziel" um mehrere und verschiedene Dateien von Ordner A in den Ordner B zu verschieben.
Hallo Leute,
ich habe heute sagen wir 8000 Dateien von einem Ordner z.B. A in den Ordner B mit Hilfe von Move CMD Befehl verschoben.
Dafür habe ich in einer CMD-Datei 8000 Move Befehle eingegeben. Diese Befehle zu erstellen kosten mich nicht viel Zeit, aber das kann ich nicht einem normalen User anbieten/antun.
Was ich eigentlich suche ist, einen Befehl, der mir diese Dateien verschiebt. Die Datei-Namen (auch mit Pfad) befinden sich in einer Text-Datei.
Diese Dateinamen können auch in einer Exceltabelle oder Access-Datenbank stehen. Das ist kein Problem. Ich kann mir aber vorstellen, dass aus einer Text-Datei einfacher ist, einen Move-Befehl zu starten bzw. zu programmieren.
Danke schön für eure Vorschäge
Hallo Leute,
ich habe heute sagen wir 8000 Dateien von einem Ordner z.B. A in den Ordner B mit Hilfe von Move CMD Befehl verschoben.
Dafür habe ich in einer CMD-Datei 8000 Move Befehle eingegeben. Diese Befehle zu erstellen kosten mich nicht viel Zeit, aber das kann ich nicht einem normalen User anbieten/antun.
Was ich eigentlich suche ist, einen Befehl, der mir diese Dateien verschiebt. Die Datei-Namen (auch mit Pfad) befinden sich in einer Text-Datei.
Diese Dateinamen können auch in einer Exceltabelle oder Access-Datenbank stehen. Das ist kein Problem. Ich kann mir aber vorstellen, dass aus einer Text-Datei einfacher ist, einen Move-Befehl zu starten bzw. zu programmieren.
Die Dateien haben komplett verschiedene Namen. Ich kann also nicht mit dem Befehl alle was mit A anfängt oder mit B endet verschieben.
Danke schön für eure Vorschäge
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Kommentar vom Moderator Biber am 06.01.2011 um 19:00:02 Uhr
Auf "Hinreichend beantwortet" gesetzt und von "Windows vielleicht" nach "Batch & Shell" verschoben.
Content-ID: 158072
Url: https://administrator.de/contentid/158072
Ausgedruckt am: 26.11.2024 um 09:11 Uhr
9 Kommentare
Neuester Kommentar
Hallo winget!
Bei einer derartig exakten Beschreibung möchte ich natürlich auch nicht knausern :
Erstelle die Ordnerstruktur unterhalb von B mit "
Als Alternative zu "
Grüße
bastla
Bei einer derartig exakten Beschreibung möchte ich natürlich auch nicht knausern :
Erstelle die Ordnerstruktur unterhalb von B mit "
xcopy /t
" und verschiebe die Dateien unter Verwendung einer "for /f
"-Schleife ...Als Alternative zu "
xcopy /t
" kannst Du auch für jede Datei den Zielpfad vorweg ermitteln und bei Bedarf erstellen.Grüße
bastla
Hallo winget!
Da es zum Einen kein "/INCLUDE" für "
Es sind hier beide Varianten kombiniert - daher entweder die Zeile 6 auskommentiert belassen oder alternativ die Zeile 13 "lahm" legen.
Durch das "
Vorausgesetzt habe ich, dass in der "Dateiliste.txt" alle Quelldateien mit vollständigem Pfad - also etwa als Ergebnis eines
- stehen und natürlich, dass die Ordnerstruktur im Ziel erhalten bleiben soll (beides ging dann leider doch nicht so genau aus Deiner Darstellung hervor) ...
Grüße
bastla
Da es zum Einen kein "/INCLUDE" für "
xcopy
" und zum Anderen für "move
" keine Option zum Erstellen des Zielpfades gibt, musst Du Dir vermutlich eher so behelfen:@echo off & setlocal
set "Basis=D:\OrdnerA"
set "Ziel=D:\Anderer Ordner\Unterordner\OrdnerB"
set "Liste=D:\Dateiliste.txt"
::xcopy /t "%Basis%" "%Ziel%\"
for /f "usebackq delims=" %%i in ("%Liste%") do set "Pfad=%%~dpi" & call :ProcessFile "%%i"
pause
goto :eof
:ProcessFile
call set "ZielPfad=%Ziel%%%Pfad:%Basis%=%%"
echo md "%ZielPfad%" 2>nul
echo move %1 "%ZielPfad%"
goto :eof
Durch das "
echo
" am Beginn der Zeilen 13 und 14 wird vorerst die Verarbeitung durch Ausgabe des Befehles nur simuliert (deswegen auch der ansonsten unnötige "pause
"-Befehl in Zeile 8 am Ende des "Hauptprogrammes") ...Vorausgesetzt habe ich, dass in der "Dateiliste.txt" alle Quelldateien mit vollständigem Pfad - also etwa als Ergebnis eines
dir /s /b /a-d D:\OrdnerA\*.doc* D:\OrdnerA\*.xl* >D:\Dateiliste.txt
Grüße
bastla
Hallo winget!
War ja auch nur zum Testen - um mich mal selbst zu zitieren :
Falls übrigens wirklich nur Dateien aus dem Quellordner (und nicht auch aus Unterordnern - darauf hatte ich wegen
Hier wird unterstellt, dass die Liste wie oben beschrieben aussieht, aber alle Dateien im selben Pfad "D:\Quellordner" liegen - wäre dem nicht so, würden ev gleichnamige Dateien im Zielordner ohne Rückfrage überschrieben!
Grüße
bastla
War ja auch nur zum Testen - um mich mal selbst zu zitieren :
Durch das "
Wenn Du also willst, dass tatsächlich etwas passiert, diese beiden "echo
" am Beginn der Zeilen 13 und 14 wird vorerst die Verarbeitung durch Ausgabe des Befehles nur simuliert (deswegen auch der ansonsten unnötige "pause
"-Befehl in Zeile 8 am Ende des "Hauptprogrammes") ...echo
"-Befehle einfach entfernen ...Falls übrigens wirklich nur Dateien aus dem Quellordner (und nicht auch aus Unterordnern - darauf hatte ich wegen
Die Datei-Namen (auch mit Pfad) befinden sich in einer Text-Datei.
getippt) verschoben werden sollen, ginge das Ganze natürlich noch einfacher (nochmals mit dem "Sicherheits-echo
" vor dem "move
"):@echo off & setlocal
set "Ziel=D:\Zielordner"
set "Liste=D:\Dateien_zu_Verschieben.txt"
for /f "usebackq delims=" %%i in ("%Liste%") do echo move "%%i" "%Ziel%"
pause
goto :eof
Grüße
bastla