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
GELÖST

Verzeichnisse alphabetisch kopieren

Frage Entwicklung Batch & Shell

Mitglied: Floyd2010

Floyd2010 (Level 1) - Jetzt verbinden

14.06.2010, aktualisiert 18.10.2012, 3240 Aufrufe, 9 Kommentare

Hallo zusammen, ich bin neu hier und habe eine Frage:

Ich möchte aus einem Verzeichnis mit zig Unterverzeichnissen diese alphabetisch aufgeteilt in einen Zielordner kopieren / verschieben (enthält die Verzeichnisse A - Z).

Grund: Der Aufruf des Quellverzeichnisses dauert wegen der Anzahl der Unterverzeichnisse zu lange.
Ich betone, es geht um die Verzeichnisse, nicht um die darin enthaltenen Dateien.

Verschiedene Versuche mit einer Filelist.txt und Robocopy sind bisher fehlgeschlagen. Hat jemand eine Idee, dies mit einfachen Mitteln zu lösen ?

Danke vorab.

Gruß
Floyd
Mitglied: Biber
14.06.2010 um 13:19 Uhr
Moin Floyd2010,

willkommen im Forum und in der neuen Arbeitswoche,...

kannst du bitte zur Vermeidung von zu vielen Rückfragen mal ein Beispiel mit vier, fünf Ordnern vorher/nachher skizzeren?

Das es um ein Windows-System halbwegs aktuellen Datums geht habe ich schon aus dem Robocopy-Schlenker geschlossen.

Grüße
Biber
Bitte warten ..
Mitglied: Floyd2010
14.06.2010 um 14:33 Uhr
Hi Biber,

es geht um Verzeichnisnamen von Usern (Nachname)

Quellverzeichnis: (ich nehme mal hier die Vornamen)
User: \
hier dann die Verzeichnisse Anton, Alfred, Agnes,Bernd, Betty, usw. bis Zacharias

Zielverzeichnis User:\ A\ Anton
User:\ A\ Alfred
User:\ A\ Agnes
usw. bis

User:\ Z\ Zacharias

Ich hoffe, dass es so deutlicher wird.

Gruß
Floyd
Bitte warten ..
Mitglied: bastla
14.06.2010, aktualisiert 18.10.2012
Hallo Floyd2010 und willkommen im Forum!

Vielleicht könntest Du ja in diesem Thread eine Anregung finden ...

Grüße
bastla
Bitte warten ..
Mitglied: Floyd2010
17.06.2010 um 12:29 Uhr
Hi Bastla,

danke erstmal für den Tipp. Bin leider erst jetzt dazu gekommen, mir das genauer anzusehen, muss aber leider weg. fehlendem Fachwissen die Segel streichen.

Ich erkenne, dass da ähnliches gemacht wird. Bloß brauche ich keine Datenbank, HTA auslesen etc. sondern nur die bereits beschriebenen Copy-oder Move Vorgänge.

Da ich die Syntax (als Beispiel for / %% /chcp 1252>null, for /f tokens etc) nicht verstehe, kann ich nicht erkennen, wie ich mit dem angegebenen Beispiel zur Lösung meines Problems kommen soll.

Daher noch mal allgemein die Frage - gibt es einfachere Lösung meines Problems ?

Gruß
Floyd
Bitte warten ..
Mitglied: bastla
17.06.2010 um 17:47 Uhr
Hallo Floyd2010!

Na dann als Ansatz:
01.
@echo off & setlocal 
02.
set "Basis=D:\Verzeichnis mit vielen Unterordnern" 
03.
set "Ziel=D:\Verzeichnis mit Alpha-Unterordnern" 
04.
 
05.
for /d %%i in ("%Basis%\*.*") do set "Verzeichnis=%%~ni" & call :ProcessDir "%%i" 
06.
goto :eof 
07.
 
08.
:ProcessDir 
09.
md "%Ziel%\%Verzeichnis:~,1%" 2>nul 
10.
echo move %1 "%Ziel%\%Verzeichnis:~,1%\" 
11.
goto :eof
Das "echo" vor dem "move" dient dem gefahrlosen Testen (die Alpha-Ordner werden allerdings bereits erstellt) ...

Grüße
bastla
Bitte warten ..
Mitglied: Floyd2010
18.06.2010 um 09:00 Uhr
Hi Bastla,

danke für die Rückmeldung und die Mühe.

Habe es gleich damit probiert. Ergebnis: Es werden nur die Verzeichnisse A-Z angelegt, also der eigentliche move/copy Befehl für die Dateien nicht ausgeführt. Hinter %Basis&\ steht jedoch ein *.* (?)

Sorry, wenn ich doofe Fragen stelle, aber wo ergänze ich bei den kryptischen Einträge den Befehl zum gleichzeitigen verschieben der Dateien incl. Unterverzeichnisse.
nochmal als Bespiel - meine Quelle sieht so aus:
d:\user\Alfred\notizen
d:\user\Alfred\Briefe
...
d:\user\Britta\notizen

neu dann:
d:\user\A \Alfred\notizen
...
d:\user\B \Britta\notizen
...

Gruß
Floyd
Bitte warten ..
Mitglied: bastla
18.06.2010 um 09:10 Uhr
Hallo Floyd2010!
Ergebnis: Es werden nur die Verzeichnisse A-Z angelegt, also der eigentliche move/copy Befehl für die Dateien nicht ausgeführt. Hinter %Basis&\ steht jedoch ein *.* (?)
Im Hinblick auf
Das "echo" vor dem "move" dient dem gefahrlosen Testen (die Alpha-Ordner werden allerdings bereits erstellt) ...
bin ich mit dem Ergebnis durchaus zufrieden - ich hätte allerdings noch hinzufügen sollen: ... indem die entsprechenden "move"-Befehle nur angezeigt werden.

wo ergänze ich bei den kryptischen Einträge den Befehl zum gleichzeitigen verschieben der Dateien incl. Unterverzeichnisse.
Wenn Du dann einmal das "echo" entfernt haben wirst, sollten eigentlich alle Inhalte (das "move" bezieht sich ja bereits auf Ordner) verschoben werden (teste das aber besser trotzdem auch noch mit 2 oder 3 Testordnern in einem anderen Basis-Ordner) ...

Grüße
bastla
Bitte warten ..
Mitglied: Floyd2010
18.06.2010 um 11:47 Uhr
Hallo Bastla,

echo (!) - natürlich.
Manchmal findet man die Bäume im Wald nicht. Funktioniert jetzt so, wie es gebraucht wird.
Habe es entsprechend ausgetragen. Vielen Dank nochmal !

Bin übrigens sehr überrascht über die kurzen Antwortzeiten und der netten Hilfe hier im Forum.

Letzte Frage zu dem Thema:
Kann ich die für mich kryptische Syntax (scheint eine Schleife mit irgendwelchen Zusätzen %%i ~ etc.) irgendwo erläuternd nachlesen, um nicht immer bei ähnlichen Problemen auf Hilfe angewiesen zu sein ? Gibt es da empehlenswerte Seiten, die einen schrittweise dorthin führen ?

Gruß Floyd2010
Bitte warten ..
Mitglied: bastla
18.06.2010 um 13:13 Uhr
Hallo Floyd2010!

Schön, dass es für Dich passt ...
Das hier verwendete "%%~ni" (oder, zur Sicherheit auch "%%~nxi") findest Du in der Online-Hilfe zu "for" (ziemlich am Ende) erklärt - bedeutet aber ganz einfach nur: Verwende nicht den vollständigen Pfad des derzeit mit "%%i" angesprochenen Ordners, sondern nur den Namen (oder als "%%~nxi" zusätzlich auch noch den Typ = extension - falls es im Ordnernamen mindestens einen Punkt gibt, wird der Teil nach dem letzten Punkt als Typ betrachtet und würde daher dann fehlen).

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Update mehrerer Verzeichnisse auf FTP-Server (3)

Frage von caspi-pirna zum Thema Batch & Shell ...

Windows Server
gelöst EXE Datei per GPO auf Desktop für alle User kopieren (8)

Frage von haiflosse zum Thema Windows Server ...

Batch & Shell
gelöst Daten via Aufgabenplanung auf ein SMB Ziel kopieren (8)

Frage von eBBeL87 zum Thema Batch & Shell ...

Batch & Shell
gelöst Verzeichniss überwachen Datei kopieren und umbenennen (6)

Frage von fischle63 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(2)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(5)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Viren und Trojaner

Neue Magazin Ausgabe: Malware und Angriffe abwehren

Information von Frank zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Windows Systemdateien
Warum System auf "C:" (29)

Frage von DzumoPRO zum Thema Windows Systemdateien ...

LAN, WAN, Wireless
Cisco SG200: Auf bestimmtem vLAN bestimmte TCP-Ports sperren (16)

Frage von SarekHL zum Thema LAN, WAN, Wireless ...

Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Cloud-Dienste
gelöst Bitcoins minen über Nacht? (16)

Frage von 1410640014 zum Thema Cloud-Dienste ...