Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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, 6614 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
VB for Applications
gelöst Mehrere CSV Dateien aus verschiedenen Ordner einlesen via VBA (12)

Frage von mtufangil zum Thema VB for Applications ...

Batch & Shell
Mehrere.csv Dateien zusammenfügen zu einer Datei mit bat (4)

Frage von Piotrney zum Thema Batch & Shell ...

Outlook & Mail
Outlook 2010 zeigt Übermittlungsfehler und erstellt mehrere PST-Dateien

Frage von thepatsch zum Thema Outlook & Mail ...

Batch & Shell
gelöst Mehrere PDF-Dateien per Batch zusammenfügen (1)

Frage von Grimmli zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (19)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...