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

Per Batch dateien aus Unterordner in den Hauptordner verschieben

Frage Entwicklung Batch & Shell

Mitglied: 44227

44227 (Level 1)

25.02.2007, aktualisiert 26.02.2007, 12621 Aufrufe, 3 Kommentare

Hallo erstmal,

ich hoffe, dass ist der richtige Ort, um diese Frage zu stellen.

In meiner Verzeichnisstruktur habe ich ca. 100 Ordner, von den manche einen Unterordner haben und manche nicht.

Ich möchte gerne eine Batch schreiben, die alle 100 Hauptordner durchläuft und wenn in einem Hauptordner ein Unterordner vorhanden ist, die Dateien, die im Unterordner sind in den Hauptordner verschiebt.

Geht so was auf einem Rechner, auf dem WinXp Home läuft?

Danke im Voraus,
Nermin
Mitglied: bastla
25.02.2007 um 21:52 Uhr
Hallo Hajvazovic und willkommen im Forum!

Wenn es nur eine Unterordnerebene gibt (also die Unterordner nicht selbst noch weitere Unterordner haben), könntest Du folgenden Batch verwenden:
01.
@echo off 
02.
cd /d C:\\ 
03.
 
04.
for /f "delims=" %%i in ('dir /b /ad') do ( 
05.
    for /f "delims=" %%j in ('dir "%%i" /b /ad') do @echo move /y "%%i\%%j\*.*" "%%i" 
06.
)
Diese Zeilen speicherst Du als "MoveUp.bat" (oder mit einem Namen, der Dir besser gefällt, solange er auf ".bat" endet) in das Hauptverzeichnis (den Ordner, in dem sich Deine 100 Ordner befinden, zB "C:\"). Dieser Ordner muss auch in der zweiten Zeile nach dem "cd /d" stehen.

Wenn Du die gespeicherte Batchdatei ausführst, wird Dir zunächst nur angezeigt, was passieren würde (zum Abbrechen die Tastenkombination "Strg"-"c" verwenden). Sofern der Ablauf für Dich ok ist, entfernst Du aus der vierten Batchzeile das "@echo " zwischen dem "do" und dem "move". Ab jetzt verschiebt die Batchdatei wirklich.

Grüße
bastla
Bitte warten ..
Mitglied: Biber
25.02.2007 um 22:34 Uhr
Moin Hajvazovic,

willkommen im Forum.

Ich halte Deinen Plan nicht für bis ins Detail ausgefeilt, aber handwerklich lösbar ist es mit folgender Zeile vom CMD-Prompt:
01.
for /d %i in (\*.*) do cmd /c for /r "%i\" %j in (*.*) do <b>@ECHO</b> move "%j" "%i\*.*"
Einschränkungen:
- kann relativ gefahrlos abgefeuert werden, durch das @ECHO zeigt die Anweisung nur, was sie tun würde... nur Simulation.
- es wird maximal in die erste Unterverzeichnisebene (i.e. "D:\temp" oder "C:\Programme") verschoben, nicht in die Root-Ebene C:\ oder D:\
- der MOVE-Befehl ist ohne Schalte /y aufgerufen und würde deshalb keine vorhandenen Dateien löschen.
- leere Verzeichnisse werden nicht gelöscht. Dafür kann später eine globale "FOR /R .....RD "%i""-Anweisung erfolgen. Wird bei Bedarf nachgereicht.
Meine Empfehlung:
- Schau Dir bitte erst mal so an, was passieren würde, wenn Deine Anforderung wortwörtlich batchmäßig umgesetzt werden würde.
[Anmerkung: "Batch" hat die gleiche sprachliche Wurzel wie das süddeutsche "Batschkopp" - der führt halt alles aus, was Du ihm sagst.]
- oder wende den obigen Befehl selektiv auf einzelne Verzeichnisse an, wo Du Dir ganz sicher bist, dass dort nur Daten (und keine Programme mit angelegten Verzeichnisstrukturen vorhanden sind
Beispiel: "for /d %i in (D:\unkritisches\Subdir\*.*) do ...."

Gruss
Biber
[Edit] Upps. Moin bastla.... Du tippst einfach schneller als ich... [/Edit]
Bitte warten ..
Mitglied: 44227
26.02.2007 um 07:12 Uhr
Moin Bastla, moin Biber,

erstmal vielen Dank für dei schnellen Antworten.

Ich werde es heute ausprobieren und geben dann rückmeldung.

Viele Grüße,
Nermin
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Dateien nach Datum verschieben (3)

Frage von LOWTIM zum Thema Batch & Shell ...

Batch & Shell
Dateien umbennen und verschieben mit bash (3)

Frage von sbsnewbie zum Thema Batch & Shell ...

Batch & Shell
gelöst Per Batch Dateien in einen Ordner - ext. Festplatte übertragen (2)

Frage von tocksick zum Thema Batch & Shell ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(4)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Router & Routing

PfSense auf Supermicro Intel Xeon D-15x8 SoC Bare Bone

Tipp von Dobby zum Thema Router & Routing ...

Heiß diskutierte Inhalte
Windows 10
Windows für Privatanwender "nicht mehr handhabbar" (26)

Frage von FA-jka zum Thema Windows 10 ...

LAN, WAN, Wireless
Brauche Hilfe: Mit (schnellem) WLAN Strecke überbrücken (23)

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

Basic
Programmierung von Windows Programmen (10)

Frage von Ghost108 zum Thema Basic ...