Hallo,
welche Möglichkeiten gibt es, um folgende Aufgabe mit dem Total Commander (ggf. Addons) zu lösen:
Hinweis: Die nummerischen Ordnernamen gibt es nicht. Die sind gewählt, um das Problem zu verdeutlichen. Es gibt unterschiedlich viele (zum Teil gleichnamige) verschachtelte Unterverzeichnisse, in denen nichts ist, außer wieder ein Unterverzeichnis.
Ausgehend von einem Startverzeichnis
"D:\Test"
mit z.B. 30 Unterverzeichnissen in Ebene 1
"D:\Test\01"
"D:\Test\02"
...
"D:\Test\30"
soll jedes Unterverzeichnis in den 30 Verzeichnissen jeweils solange eine Ebene nach oben verschoben werden, solange sich im Unterverzeichnis nur 1 Verzeichnis (mit eventuell weiteren Unterverzeichnissen und Dateien) befindet.
Beispiel:
Quelle
D:\Test\01\01\01\juhu
In dieser Verzeichnisstruktur gibt es nur im Verzeichnis "juhu" weitere Dateien und mehrere Verzeichnisse
also
D:\Test\01\01\01\juhu\A\
D:\Test\01\01\01\juhu\A\Montag.txt
D:\Test\01\01\01\juhu\B\
D:\Test\01\01\01\juhu\B\Dienstag.txt
In den anderen Unterverzeichnissen
D:\Test\01\01\01
D:\Test\01\01
D:\Test\01
gibt es nur je 1 Unterverzeichnis (in diesem Beispiel namens "01").
Ziel:
Verschiebe das Verzeichnis "juhu" wie folgt:
D:\Test\01\01\01\juhu -> D:\Test\01\juhu
Dabei beachten, die Unterverzeichnisse können den gleichen Verzeichnisnamen aufweisen, wie das drüber liegende Verzeichnis.
Wie kann das automatisch mit dem Total Commander (und ggf. Addons) gelöst werden?
Ein schönes Wochenende und vielleicht knacken wir diese Nuss
Verschachtelte Verzeichnisse verschieben
Moderators: white, Hacker, Stefan2
- sqa_wizard
- Power Member
- Posts: 3862
- Joined: 2003-02-06, 11:41 UTC
- Location: Germany
Wenn du den Namen des zu verschiebenden Unterverzeichnis (oder einen markanten Teil) kennst gibt es eine Möglichkeit.
Annahmen:
- Unterverzeichnis ist "juhu"
- TC steht in "D:\Test"
Aktionen:
- Mit ALt-F7 Suche aufrufen
- Suchen nach: juhu
- Erweitert - Attribute: Bei "Verzeichnis" Haken setzen
- Suche starten
- "Anwenden" betätigen
=> gefundene Verzeichnisse sind nun im Dateifenster
- Alle zu verschiebenden Einträge markieren
- mit Strg-M das Mehrfach-Umbenenn-Tool aufrufen
- Suchen nach: juhu
- Ersetzen durch: ..\..\juhu
Damit wird das gefundene Verzeichnis 2 Ebenen tiefer geschoben.
Bei 3 Ebenen entsprechend also ..\..\..\juhu
HTH
Annahmen:
- Unterverzeichnis ist "juhu"
- TC steht in "D:\Test"
Aktionen:
- Mit ALt-F7 Suche aufrufen
- Suchen nach: juhu
- Erweitert - Attribute: Bei "Verzeichnis" Haken setzen
- Suche starten
- "Anwenden" betätigen
=> gefundene Verzeichnisse sind nun im Dateifenster
- Alle zu verschiebenden Einträge markieren
- mit Strg-M das Mehrfach-Umbenenn-Tool aufrufen
- Suchen nach: juhu
- Ersetzen durch: ..\..\juhu
Damit wird das gefundene Verzeichnis 2 Ebenen tiefer geschoben.
Bei 3 Ebenen entsprechend also ..\..\..\juhu
HTH
#5767 Personal license
Danke - das ist ein sehr interessanter Tipp.
Leider kenne ich den Namen des letzten Verzeichnis nicht.
Zudem ist die Verschachtelungstiefe sehr unterschiedlich. Das können von 1 bis x Unterverzeichnisse sein.
d:\test\01\abc\test\03\juhu
=
d:\test\x-beliebige-Anzahl-von-Unterverzeichnissen\juhu
->
d:\test\juhu
Es sind mehrfach verschachtelte Verzeichnisse mit je einem Unterverzeichnis, bis endlich der Datenteil kommt.
Im Prinzip suche ich nach einer Logik-Verschieben-Funktion:
Verschiebe das Unterverzeichnis eine Ebene höher, wenn es neben dem Unterverzeichnis auf der Ebene keine weiteren Dateien oder Verzeichnisse gibt.
Leider kenne ich den Namen des letzten Verzeichnis nicht.
Zudem ist die Verschachtelungstiefe sehr unterschiedlich. Das können von 1 bis x Unterverzeichnisse sein.
d:\test\01\abc\test\03\juhu
=
d:\test\x-beliebige-Anzahl-von-Unterverzeichnissen\juhu
->
d:\test\juhu
Es sind mehrfach verschachtelte Verzeichnisse mit je einem Unterverzeichnis, bis endlich der Datenteil kommt.
Im Prinzip suche ich nach einer Logik-Verschieben-Funktion:
Verschiebe das Unterverzeichnis eine Ebene höher, wenn es neben dem Unterverzeichnis auf der Ebene keine weiteren Dateien oder Verzeichnisse gibt.