Top-Themen

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

gelöst Ordnerhierarchie auf eine Ebene reduzieren?

Mitglied: the-NoMIs

the-NoMIs (Level 1) - Jetzt verbinden

24.06.2008, aktualisiert 25.06.2008, 4688 Aufrufe, 8 Kommentare

automatisierung mit batch oder software gesucht

lästige handarbeit, die immer wieder vorkommt: ein übergeordnetes verzeichnis enthält mehrere (teilweise verschachtelte) unterverzeichnisse in denen verschiedene dateien liegen, die man gerne ohne die ganze ordnerstruktur in einem verzeichnis hätte.


ordner
..unterordner1
.....datei1
.....datei2
..unterorder2
.....datei2
.....datei3
.....datei4



---> MIT MÖGLICHST EINEM KLICK UMWANDELN IN:



ordner
..datei1
..datei2
..datei2_2
..datei3
..datei4


hat jemand von euch eine bequeme lösung für dieses problem, die einem den ganzen ausschneiden-einfügen-prozess erspart? Idealerweise mit einer automatischen umbennung bei gleichem dateinamen oder nachfrage ob ersetzt werden soll..

vielen dank schon mal im voraus!

gruß simon
Mitglied: D3S3RT
24.06.2008 um 15:29 Uhr
also das Programm "total commander" ( http://www.ghisler.com/ddownload.htm ) hat den Shortcut Strg + b .. Damit werden alle Dateien aller Unterverzeichnisse in einer Liste dargestellt.
Wenn du nun dann mit Strg + NumPlus
markierst und mit Strg + x ausschneidest, mit Strg + r
die Ansicht wieder auf normal machst, und mit Strg + v
das ganze wieder einfügst. dann haste das schonmal. Doppelte Dateinamen machen hier leider Stress. Die müsstest du vorher ausschliessen. z.b. wenn du in der Ansicht, alle markiert hast mit Strg + m in das Umbenenntool reingehst. und dann als neuen Namen [P][N] einträgst, wird jede datei von pfad1\dateiname in pfad1\pfad1dateiname umbenannt, dann hättest du Dopplungen ausgeschlossen.
Bitte warten ..
Mitglied: bastla
24.06.2008 um 16:14 Uhr
Hallo the-NoMIs und willkommen im Forum!

Für den folgenden Batch benötigst Du etwas mehr als einen Klick - der Ausgangsordner ist nämlich auf den Batch zu ziehen (oder der Batch über CMD mit Angabe des Ordners als Parameter aufzurufen):
01.
@echo off & setlocal 
02.
if [%1]==[] goto :Usage 
03.
if not exist "%1\" goto :Usage 
04.
 
05.
pushd %1 
06.
for /d %%i in (*.*) do call :ProcessDir "%%i" 
07.
popd 
08.
goto :eof 
09.
 
10.
:ProcessDir 
11.
for /f "delims=" %%d in ('dir %1 /s /b /a-d 2^>nul') do call :ProcessFile "%%d" 
12.
dir %1 /s /b /a-d >nul 2>nul || rd /s /q %1 
13.
goto :eof 
14.
 
15.
:ProcessFile 
16.
set "N=%~nx1" 
17.
set Nr=1 
18.
:Loop 
19.
if not exist "%N%" goto :DoIt 
20.
set /a Nr+=1 
21.
set "N=%~n1_%Nr%%~x1" 
22.
goto :Loop 
23.
:DoIt 
24.
move %1 "%N%" 
25.
goto :eof 
26.
 
27.
:Usage 
28.
echo\ 
29.
echo\ 
30.
echo Bitte beim Aufruf einen existierenden Ordner angeben! 
31.
echo\ 
32.
pause
Nach dem Zusammenfassen der Dateien im angegebenen/übergebenen Ordner werden alle Unterordner, unterhalb dererer sich keine Dateien mehr befinden, gelöscht. Falls Du das nicht willst, einfach "::" an den Anfang der Zeile 12 setzen.

Bitte zunächst Testdaten verwenden!

Grüße
bastla
Bitte warten ..
Mitglied: the-NoMIs
24.06.2008 um 17:42 Uhr
geeeenial!

was soll ich sagen.. perfekt - DANKE!

gruß simon
Bitte warten ..
Mitglied: the-NoMIs
25.06.2008 um 12:48 Uhr
nach sehr zufriedenstellenden testläufen ist mir eine kleinigkeit aufgefallen, die noch zu meiner absoluten glückseeligkeit fehlen würde ;)

diese umbenennung wie sie D3S3RT erwähnt:

"...als neuen Namen [P][N] einträgst, wird jede datei von

pfad1\dateiname

in

pfad1\pfad1dateiname

umbenannt, dann hättest du Dopplungen ausgeschlossen."

könnte man die noch in den batch einbauen? damit würde man sich die "_2" bei gleichem dateinamen sparen und hätte den vorteil, dass die sortierung der datein nicht verloren ginge.
beispielsweise erstellt meine dslr automatisch neue ordner auf der speicherkarte und beginnt in jedem dieser ordner mit der durchnummerierung der fotos wieder bei 1. mit obigem batch geht mir somit leider die chronologische reihenfolge verloren, die ich zwar über die exif-daten wiederherstellen kann, aber das ist dann schon wieder mehr als ein klick ^^

vielen dank für die mühe!

gruß simon
Bitte warten ..
Mitglied: bastla
25.06.2008 um 16:23 Uhr
Hallo the-NoMIs!

Meinst Du so:
01.
@echo off & setlocal 
02.
if [%1]==[] goto :Usage 
03.
if not exist "%1\" goto :Usage 
04.
 
05.
pushd %1 
06.
for /d %%i in (*.*) do call :ProcessDir "%%i" 
07.
popd 
08.
goto :eof 
09.
 
10.
:ProcessDir 
11.
for /f "delims=" %%d in ('dir %1 /s /b /a-d 2^>nul') do call :ProcessFile "%%d" 
12.
dir %1 /s /b /a-d >nul 2>nul || rd /s /q %1 
13.
goto :eof 
14.
 
15.
:ProcessFile 
16.
set "N=%~pnx1" 
17.
set "N=%N:\=% 
18.
move %1 "%N%" 
19.
goto :eof 
20.
 
21.
:Usage 
22.
echo\ 
23.
echo\ 
24.
echo Bitte beim Aufruf einen existierenden Ordner angeben! 
25.
echo\ 
26.
pause
Grüße
bastla
Bitte warten ..
Mitglied: the-NoMIs
25.06.2008 um 19:19 Uhr
*begeistertdurchdiegegendhüpf*
Bitte warten ..
Mitglied: bastla
25.06.2008 um 19:31 Uhr
Hallo the-NoMIs!

Ist das so zu interpretieren, dass ich Dich guten Gewissens darauf hinweisen darf: Wie setze ich einen Beitrag auf "Gelöst" oder "Erledigt"?

Grüße
bastla
Bitte warten ..
Mitglied: the-NoMIs
25.06.2008 um 20:57 Uhr
darfst du ^^

wird auf der stelle erledigt.

nochmals danke für die sofort-hilfe und viele grüße

simon
Bitte warten ..
Ähnliche Inhalte
Utilities
Mobilfunk-Datenvolumen reduzieren
gelöst Frage von raumi20Utilities7 Kommentare

Hallo, ich möchte gerne das Datenvolumen meiner mobilen Endgeräte reduzieren, dazu suche ich nach einer Möglichkeit, den Datenverkehr zu ...

PHP

Ticketsystem mit Meldung über mehrere Ebenen

Frage von tsunamiPHP4 Kommentare

Hallo, ich brauche bitte einen Ansatz: Gegeben sei eine Abteilungshierachie. 1. Chef 2. Techische Leitung 3. Elektriker, Sanitär, Hausmeister ...

Switche und Hubs

Cisco Catalyst 6506 Lüfter reduzieren?

Frage von Hedwig5Switche und Hubs4 Kommentare

Hallo Administratoren! Wir setzen einen Cisco Catalyst 6506 mit HighSpeed Fan Tray ein. Die Lüfter "pusten" (laut Ton) immer ...

Firewall

Idee für Filter auf Bridge-Ebene

gelöst Frage von SauBaer2014Firewall6 Kommentare

Servus miteinander ich versuche mich gerade beim Filter setzen auf Bridge - Ebene ! Strebe an, dass an 3 ...

Neue Wissensbeiträge
Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 23 StundenWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Sicherheit

Zero Day-Schwachstelle im Internet Explorer - wird von APT bereits ausgenutzt

Information von kgborn vor 1 TagSicherheit

Im Kernel des Internet Explorer scheint es eine Zero Day-Lücke zu geben, die von staatlichen Akteuren (APT) im Rahmen ...

Microsoft
Folder Security Viewer-Lizenzen zu gewinnen
Information von kgborn vor 1 TagMicrosoft

Ich nehme das Thema mal in Absprache mit Frank hier auf, da es für den einen oder anderen Administrator ...

Hardware

Feueralarm killt Festplatten in Rechenzentrum - führt zu größerem Ausfall

Information von kgborn vor 1 TagHardware12 Kommentare

Noch ein kleiner Beitrag für Administratoren, die in Rechenzentren aktiv sind - so als Fingerzeig. Denn es gibt Szenarien, ...

Heiß diskutierte Inhalte
C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++27 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

Linux
Linux Server oder Windows Server - lohnt eine Umstellung auf Linux und ebenso basierende SW bei einer langfristigen Planung?
Frage von motus5Linux27 Kommentare

Wir brauchen bei uns einen neuen Server. Dieser wird als Fileserver, Domäne Controller sowie Exchange Server verwendet. Wir versuchen ...

LAN, WAN, Wireless
Watchguard T15 VPN Einrichtung
gelöst Frage von thomasjayLAN, WAN, Wireless22 Kommentare

Hallo zusammen, wir möchten gerne über unsere Watchguard T15 einen VPN-Tunnel (Mobile VPN with IPSec) einrichten! Als Client nutzen ...

DSL, VDSL
ISP Wechsel auf Vodefone Koax, Gebäudeverkabelung nur per Cat 7
gelöst Frage von wusa88DSL, VDSL19 Kommentare

Hallo Zusammen, ich bin momentan bei Mnet als Glasfaser Kunde und möchte Preis/Leistungs-Technisch zu Kabel Deutschland / Vodafone wechseln. ...