Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
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.
GELÖST

Mehrere und verschiedene Dateien von Ordner A in Ordner B verschieben

Frage Entwicklung Batch & Shell

Mitglied: winget

winget (Level 1) - Jetzt verbinden

05.01.2011, aktualisiert 06.01.2011, 6785 Aufrufe, 9 Kommentare

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.
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
Mitglied: bastla
05.01.2011 um 22:48 Uhr
Hallo winget!

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
Bitte warten ..
Mitglied: winget
05.01.2011 um 23:20 Uhr
Hallo bastla,
das finde ich Interessant.

Ich hätte mehr an so was gedacht:

xcopy c:\Quellordner c:\Zielordner /S/E /EXCLUDE:C:\nichtKopieren.txt

nur dann für xmove und nicht als Excluede:
z.B.

xmove c:\Quellordner c:\Zielordner /S/E / c:\DateienzuKopieren.txt
oder
xmove c:\Quellordner c:\Zielordner /S/E / c:\xmove.out

Vielen Dank schon mal
Bitte warten ..
Mitglied: bastla
05.01.2011 um 23:28 Uhr
Hallo winget!

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:
01.
@echo off & setlocal 
02.
set "Basis=D:\OrdnerA" 
03.
set "Ziel=D:\Anderer Ordner\Unterordner\OrdnerB" 
04.
set "Liste=D:\Dateiliste.txt" 
05.
 
06.
::xcopy /t "%Basis%" "%Ziel%\" 
07.
for /f "usebackq delims=" %%i in ("%Liste%") do set "Pfad=%%~dpi" & call :ProcessFile "%%i" 
08.
pause 
09.
goto :eof 
10.
 
11.
:ProcessFile 
12.
call set "ZielPfad=%Ziel%%%Pfad:%Basis%=%%" 
13.
echo md "%ZielPfad%" 2>nul 
14.
echo move %1 "%ZielPfad%" 
15.
goto :eof
Es sind hier beide Varianten kombiniert - daher entweder die Zeile 6 auskommentiert belassen oder alternativ die Zeile 13 "lahm" legen.

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
- 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
Bitte warten ..
Mitglied: micneu
06.01.2011 um 11:54 Uhr
kannst du auch powershell nehmen, macht sowas von haus aus
wie ist die text datei aufgebaut, wie csv?
mach mal ein beispiel für einige zeilen.
könnte dir dann ziemlich zeitnah eine powershell lösung geben.

gruß michael

ps: frohes neues euch allen
Bitte warten ..
Mitglied: winget
06.01.2011 um 12:46 Uhr
Hallo micneu (Michael),
die Text-Datei kann auch als csv gespeichert werden. Das ist kein Problem.
Die Text-Datei kann ich komplett mit Pfad eingeben oder nur einfach die Dateinamen.

Beispiele für die Text Datei mit komplettem Pfad; Name der Datei Dateien_zu_Verschieben.txt (als Beispiel)
D:\Quellordner\Testdatei1.pdf
D:\Quellordner\Testdatei2.xls
D:\Quellordner\Testdatei3.doc

etc..

Die Text-Datei befindet sich z.B. unter D:
D:\Dateien_zu_Verschieben.txt
Bitte warten ..
Mitglied: winget
06.01.2011 um 14:14 Uhr
Hallo bastla,
es sieht schon mal gut aus.
Ich bekomme auch die Meldung, was verschoben werden muss oder wird in einer DOS fenster.

Die Meldung sieht wie folgt aus:

move "D:\Quellordner\Beispieldatei.pdf" "D:\Zielordner\"
Drücken Sie eine beliebige Taste...

Natürlich die alle andere Dateien auch dazwischen.

Problem ist, diese Dateien werden gar nicht verschoben. Die Ordner sind weder Schreibgeschützt oder sonst was. Mit einem einfachen move Befehl oder xcopy funtioniert.

Die Dateiliste enhält den kopletten Pfad. Wie z.B.
D:\Quellordner\Testdatei1.pdf
D:\Quellordner\Testdatei2.xls
D:\Quellordner\Testdatei3.doc

Genaus so wie man mit einem Befehl
dir /s /b /a-d D:\OrdnerA\*.doc* D:\OrdnerA\*.xl* >D:\Dateiliste.txt
erstellt werden.

Gruß
winget
Bitte warten ..
Mitglied: bastla
06.01.2011 um 15:19 Uhr
Hallo winget!

War ja auch nur zum Testen - um mich mal selbst zu zitieren :
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") ...
Wenn Du also willst, dass tatsächlich etwas passiert, diese beiden "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"):
01.
@echo off & setlocal 
02.
set "Ziel=D:\Zielordner" 
03.
set "Liste=D:\Dateien_zu_Verschieben.txt" 
04.
 
05.
for /f "usebackq delims=" %%i in ("%Liste%") do echo move "%%i" "%Ziel%" 
06.
pause 
07.
goto :eof
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
Bitte warten ..
Mitglied: winget
06.01.2011 um 16:21 Uhr
Hallo bastla,
Super! Klar, wer lesen kann, ist klar im Vorteil.
Beide Batche funktionieren.
Genau das habe ich gesucht.
Vielen Dank
Bitte warten ..
Mitglied: winget
06.01.2011 um 16:27 Uhr
Hallo mineus,
die Lösung (als CMD Batch) von bastla liegt jezt vor und funtionert.
Ich wäre aber neugierig, wie du als powershell lösen würdest. Deswegen lasse ich diese Anfrage noch bis Wochenende offen.
Danke schon mal im Voraus
Gruß
winget
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Eine Batch zum Sortieren verschiedener Dateien in Ordner (16)

Frage von Jaglag zum Thema Batch & Shell ...

Batch & Shell
Aktuellste Dateien per bash in Ordner verschieben (7)

Frage von wescraven07 zum Thema Batch & Shell ...

Batch & Shell
Dateien nach Datum verschieben (4)

Frage von LKDNDK12 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(8)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Windows 10
Seekrank bei Windows 10 (18)

Frage von zauberer123 zum Thema Windows 10 ...

Windows 10
Windows 10 Fall Creators Update Fehler (14)

Frage von ZeroCool23 zum Thema Windows 10 ...

Router & Routing
gelöst Getrenntes Routing bei VoIP und Daten (12)

Frage von Hobbystern zum Thema Router & Routing ...