leere Ordner finden und löschen?

German support forum

Moderators: Hacker, Stefan2, white

User avatar
Sheepdog
Power Member
Power Member
Posts: 5150
Joined: 2003-12-18, 21:44 UTC
Location: Berlin, Germany
Contact:

Post by *Sheepdog »

Die [..] sind ja keine Datei sondern (ein Link auf) das übergeordnete Verzeichnis.

Im übrigen gehts in diesem Thread darum, die leeren Ordner zu löschen, und nicht den Begriff 'leerer Ordner' neu zu definieren.

sheepdog
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
Luzie
Junior Member
Junior Member
Posts: 91
Joined: 2003-02-27, 07:58 UTC

Post by *Luzie »

Tja. Und was ist bitte ein Link ?
Ist doch auch nur ne Datei oder ;-)

Im Ernst, das sollte nur eine Anregung an Herrn Ghisler sein,
wie man es doch programmieren könnte, dass leere Verzeichnisse
gefunden (und damit auch syncronisiert) werden können.

Das kann der Total Commander ja leider bisher noch nicht
(auch laut Bestätigung von Herrn Ghisler).

mfg,

Luzie
User avatar
Sheepdog
Power Member
Power Member
Posts: 5150
Joined: 2003-12-18, 21:44 UTC
Location: Berlin, Germany
Contact:

Post by *Sheepdog »

Luzie wrote:TIm Ernst, das sollte nur eine Anregung an Herrn Ghisler sein, wie man es doch programmieren könnte, dass leere Verzeichnisse
gefunden (und damit auch syncronisiert) werden können.
Es hakt nicht daran, dass @ghisler nicht weiss, wie man einen leeren von einem nicht leeren Ordner unterscheidet (auch Programmtechnisch).

Denn sonst würden ja z.B. Ordner mit leeren Unterordnern mit synchronisiert. Dies ist aber nicht der Fall (Beim Löschen weist TC dararuf hin, dass der Ordner nicht leer ist). Erst wenn in einem Ordner auch eine Datei drin liegt, wird der Ordner auch kopiert. Und die Datei darf auch 0-Byte groß sein.

sheepdog
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
User avatar
Cineatic
Power Member
Power Member
Posts: 876
Joined: 2003-06-02, 14:09 UTC

Post by *Cineatic »

Hallo!
Luzie wrote:Tja. Und was ist bitte ein Link ?
Ist doch auch nur ne Datei oder ;-)
...
Diese ".." sind keine Dateien. Dies ".." funktionierte auch schon unter DOS um eine Verzeichnisebene höher zu kommen (cd ..). Im Betriebssystem und Dateimanagern wird daher auch diese Darstellung genutzt. Danach lässt sich nicht suchen.
Gruß,
Christian
User avatar
Sheepdog
Power Member
Power Member
Posts: 5150
Joined: 2003-12-18, 21:44 UTC
Location: Berlin, Germany
Contact:

Post by *Sheepdog »

Cineatic wrote:Diese ".." sind keine Dateien. 'cut'
Da kann ich Dir nicht ganz zustimmen. Um mal mit dem DOS zu beginnen:
Eine Datei wird durch ihren Eintrag in der Verzeichnisliste repräsentiert. Außer dem Namen ist hier auch ein Verweis zum entsprechenden Speicherblock auf dem Datenträger. Wenn es sich um eine 0 -Byte datei handelt, dann wird diese tatsächlich nur durch ihren Verzeichniseintrag repräsentiert.
Und die beiden Einträge '.' und '..' existieren tatsächlich und werden beim 'dir' Kommando auch angezeigt.

Dass sich danach nicht suchen lässt, ist richtig. Aber das liegt daran, dass die Punkte im Grunde Platzhalter (für das gegenwärtige und übergeordnete)Verzeichnis sind.


sheepdog
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
Luzie
Junior Member
Junior Member
Posts: 91
Joined: 2003-02-27, 07:58 UTC

Post by *Luzie »

und um die DOS-Historie noch zu verfolgenständigen:

Wenn man eine Batch schreibt mit:

IF EXIST .. ECHO DIESE GIBT ES DOCH

dann erhält man schön als Meldung

DIESE GIBT ES DOCH

hihi ...

Luzie
JOUBE
Power Member
Power Member
Posts: 1667
Joined: 2004-07-08, 08:58 UTC

Post by *JOUBE »

Hallo,

um einmal wieder auf die Ausgangsfrage zurueck zu kommen...

Gefragt wurde (sinngemaess): Kann ich, und wenn ja wie, alle leeren
Verzeichnisse in einer komplexen Verzeichnisstruktur mit dem TC erkennen
und "in einem Rutsch" loeschen.

Die schnelle, und wie ich meine, vorschnelle, bedauernde Antwort vom
Entwickler C. Ghisler war: Nein, leider geht das nicht."

Das ist so nicht richtig, denn der TC kann wieder einmal mehr
(mehr als selbst der Entwickler vermutet):

Benutzt wird das "Verzeichnisse synchronisieren"-Feature des TC mit der
Option "asymmetrisch".

Fuenf Schritte sind erforderlich:

- Erstellen (F7) eines neuen (Dummy-)Verzeichnisses beliebigen Namens
im linken Verzeichnis-Fenster des TC. Dort erstellen (Shift+F4) (oder
hinein kopieren) einer kleinen (Dummy-)Datei beliebigen Namens.

- "Verzeichnisse synchronisieren" im TC-Menue aufrufen.
Vorher muss im linken TC-Fenster das (Dummy-)Verzeichnis und
im rechten TC-Fenster der Anfangspfad der Verzeichnisstruktur
eingestellt sein, ab dem alle leeren Unterverzeichnisse geloescht
werden sollen.
Nun in den "Verzeichnisse synchronisieren"-Optionen einstellen:
*.* (= alle Dateien)
[ ] Nur markierte im H....
[x] asymmetrisch
[x] Unterverzeichnisse
[ ] nach Inhalt
[ ] Datum ignorieren
und dann den Button "Vergleichen" druecken.

- Nach einer kuerzeren oder laengeren Zeit (je nach Komplexitaet der
Verzeichnisstrukturen rechts) wird nun die Liste der zu
synchronisierenden Dateien angezeigt. Hier nun in den Anzeige-Optionen
nur den "gruenen" Button auswaehlen (die Optionen "schwarz", "rot" und
"blau" muessen ausgeschaltet werden).
Es darf(!) nun nur noch die eine (neu erstellte/kopierte) (Dummy-)Datei
in der Dateiliste des "Verzeichnisse synchronisieren"-Fensters zu sehen
sein, die von "links nach rechts" zu synchronisieren ist (dies ist sehr
wichtig, denn wenn man hier etwas falsch einstellt, werden
anschliessend uU. in der Verzeichnisstruktur des rechten Fensters durch
das "Asymetrisch"-Feature wichtige Dateien geloescht).

- Nun den "Synchronisieren"-Button druecken.
Im folgenden Abfragefenster ist (wenn alles richtig gelaufen ist) ein
Haken bei "Links nach Rechts" gesetzt.
Die Optionen "Rechts nach Links" und "Rechts: 0 Dateien loeschen"
muessen(!) grau (dh nicht anwaehlbar) und ohne Haken sein!
Nun wird der Haken bei "Rechts: Alle leeren Verzeichnisse loeschen"
gesetzt.
Nach dem Druecken des OK-Buttons laeuft der mehr oder wenig lang
dauernde Vorgang des Synchronisierens (dh vor allem: Loeschen der
leeren Verzeichnisse rechts) ab.

- Nun die "nach rechts" synchronisierte (Dummy-)Datei, die uebrigens nur
erforderlich ist, damit ueberhaupt der "Synchronisieren"-Button
gedrueckt werden kann und das "Synchronisieren"-Abfragefenster erscheint,
nach Beenden der "Synchronisation" loeschen, wie auch im linken Fenster
das (Dummy-)Verzeichnis.

Ein Hinweis zum Schluss: Wenn beim beschriebenen Verfahren nicht
sorgfaeltigst gearbeitet wird und die Einstellungen und Optionen und
Anzeigen nicht mehrfach ueberprueft werden, kann grosser Schaden ange-
richtet werden. Die Einstellung "Asymmetrisch" beim "Verzeichnisse
synchronisieren" ist in der normalen Einstellung dazu gedacht, im
rechten Fenster alle Dateien zu loeschen, die im linken Fenster nicht
vorhanden sind. Weil beim hier beschrieben Verfahren im linken Fenster
aber nur eine Datei vorhanden ist, waere das Ergebnis bei nicht
richtig eingestellten Optionen sehr fatal...

Bitte also das Verfahren zunaechst einmal an kleinen Verzeichnissen
ueben und testen, bevor man es auf zigGB HDDs ansetzt. Es wird auch
keine Gewaehr auf ein gutes Gelingen uebernommen.

Die Sache ist im uebrigen einfacher, als es sich vielleicht anhoert,
und bei komplexen Verzeichnis-Strukturen durchaus lohnenswert.

Viel Spass

Joube
raytc
Senior Member
Senior Member
Posts: 274
Joined: 2004-06-28, 11:03 UTC

Post by *raytc »

Luzie wrote:Hi,

kurze Anmerkung, da ich die entsprechende Funktion im Total Commander auch sehr vermisse (gerade beim Syncronisieren werden leider leere Verzeichnisse nicht angezeigt die nur auf der einen Seite existieren):

Die Shareware "jv16 PowerTools" von Macecraft Software
(30 Tage-Testversion unter: http://www.jv16.org/)
findet leere Verzeichnisse und listet diese übersichtlich auf.

Gruss,

Luzie
Auch die Fileback pc macht dass (clean wizard).

http://www.fileback-pc.com
icfu
Power Member
Power Member
Posts: 6052
Joined: 2003-09-10, 18:33 UTC

Post by *icfu »

@Joube:
Sehr schön ausgeführt, allerdings ist Dein Workaround ist eher ein Löschen in 10 Rutschen mit nicht zu unterschätzendem Gefahrenpotential. ;)

Ich empfehle stattdessen rmempty.

Das Ding zieht man sich einfach auf die Buttonleiste und füttert es noch mit einem Parameter:

%P, wenn man beim Klick alle leeren Unterordner des Verzeichnisses entfernen möchte, in dem man sich gerade befindet

%P%N, wenn man beim Klick alle leeren Unterordner des gerade markierten Verzeichnisses entfernen möchte, inkl. des markierten Verzeichnisses selbst, sofern es denn leer ist

Mittels lst2str oder lst2multi und Parameter %L läßt sich auch noch die Möglichkeit realisieren, alle markierten Ordner überprüfen zu lassen, so daß keine Wünsche offen bleiben sollten.

So interessant das Gefummel mit dem TC-Synctool in der Theorie auch ist, man sollte sich das Leben nicht unnötig schwer machen. ;)

Nichts für ungut und Daumen hoch für Deinen Beitrag!

Icfu
This account is for sale
JOUBE
Power Member
Power Member
Posts: 1667
Joined: 2004-07-08, 08:58 UTC

Post by *JOUBE »

Hallo,

nein, sicher nicht mit so einem Programm, wie es von dir genannt wurde.

Du bist sicher kein Profi.

Auf deiner privaten Festplatte mag es ja angehen, so ein Programm zu benutzen, aber für den professionellen Einsatz ist es voellig ungeeignet.

Wie viele Tests willst du mit so einem Programm machen, bevor du halbwegs sicher bist, dass es nicht ab Verzeichnis-Verschachtelungstiefe x oder Verzeichnsnamenlaenge y oder Anzahl z der durchsuchten Verzeichnisse anfaengt, fehlerhaft (Stackueberlauf o.ae.) zu arbeiten? Zumal der Link zum Hersteller (Entwickler) nicht (mehr) gueltig ist und der Sourcecode nicht vorliegt.

- Das von mir beschriebene Verfahren ist kein Workaround, sondern ein ganz normal gangbarer Weg, leere Verzeichnisse mit dem TC zu loeschen.

- Das Verfahren habe ich sehr ausfuehrlich beschrieben, damit es jeder einfach nachvollziehen kann. Natuerlich koennen die Schritte 1 und 5 auch weggelassen werden, wenn man weiss, wie man's tut.

- Beim Loeschen von Verzeichnisse sollte man sich konzentrieren und bei der Sache sein, dann gibt es hier nichts Gefaehrliches. Auf die genannten Gefahren habe ich hauptsaechlich der Vollstaendigkeit halber hingewiesen.

JOUBE
User avatar
Sheepdog
Power Member
Power Member
Posts: 5150
Joined: 2003-12-18, 21:44 UTC
Location: Berlin, Germany
Contact:

Post by *Sheepdog »

JOUBE wrote: - Das von mir beschriebene Verfahren ist kein Workaround, sondern ein ganz normal gangbarer Weg, leere Verzeichnisse mit dem TC zu loeschen.
Ein ganz normal gangbarer Weg wäre:
1. [alt]+[F7] (Suchen Dialog)
2. [Strg]+[TAB] ->Erweitert
3. 'Suche nach leeren Ordnern' anklicken
4. [alt]+ für Suche starten

Es ist einfach unverständlich, warum die vielfach nachgefragte Funktion zum finden leerer Ordner nicht eingebaut wird. Denn dass @ghisler weiss, wie diese leeren Ordner zu finden sind, dessen bin ich gewiss.

Insofern ist Dein Verfahren ein workaround. Im Übrigen, was macht Dich so sicher, dass das Synchronisieren mit TC
nicht ab Verzeichnis-Verschachtelungstiefe x oder Verzeichnsnamenlaenge y oder Anzahl z der durchsuchten Verzeichnisse anfaengt, fehlerhaft (Stackueberlauf o.ae.) zu arbeiten?


Im Zweifelsfall auch nur der 'Versuch macht kluch' oder das Vertrauen in @ghisler. Oder hast Du den Quellcode vom TC? ;)
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
icfu
Power Member
Power Member
Posts: 6052
Joined: 2003-09-10, 18:33 UTC

Post by *icfu »

Du bist sicher kein Profi.
Mit Dir kann ich mich natürlich nicht messen, das versteht sich doch von selbst.
Wie viele Tests willst du mit so einem Programm machen, bevor du halbwegs sicher bist, dass es nicht ab Verzeichnis-Verschachtelungstiefe x oder Verzeichnsnamenlaenge y oder Anzahl z der durchsuchten Verzeichnisse anfaengt, fehlerhaft (Stackueberlauf o.ae.) zu arbeiten? Zumal der Link zum Hersteller (Entwickler) nicht (mehr) gueltig ist und der Sourcecode nicht vorliegt.
Wieviele Tests hast Du mit dem TC gemacht? Dir liegt der TC Source Code vor? Interessant.
Das von mir beschriebene Verfahren ist kein Workaround, sondern ein ganz normal gangbarer Weg, leere Verzeichnisse mit dem TC zu loeschen.
Das von Dir beschriebene Verfahren ist schon alleine deshalb ein Workaround, weil Du ein Dummyfile erstellen mußt, um den TC zur Erfüllung des Wunsches zu überreden. Wenn ich jemandem erklären müßte, was ein Workaround ist, würde ich ihm Deinen Umweg zeigen.
Das Verfahren habe ich sehr ausfuehrlich beschrieben, damit es jeder einfach nachvollziehen kann. Natuerlich koennen die Schritte 1 und 5 auch weggelassen werden, wenn man weiss, wie man's tut.
Ich habe Deinen Workaround genügend gewürdigt, trotzdem ist er für Profis wie mich nicht geeignet. Ich erledige alltägliche Aufgaben lieber schnell und zuverlässig.
BeimLoeschen von Verzeichnisse sollte man sich konzentrieren und bei der Sache sein, dann gibt es hier nichts Gefaehrliches. Auf die genannten Gefahren habe ich hauptsaechlich der Vollstaendigkeit halber hingewiesen.
Bei der Mischung an Laien und Profis, die hier im Forum anzutreffen sind, sind Gefahrenhinweise obligatorisch, "der Vollständigkeit halber" klingt wenig überzeugend.

Icfu
This account is for sale
User avatar
Lefteous
Power Member
Power Member
Posts: 9537
Joined: 2003-02-09, 01:18 UTC
Location: Germany
Contact:

Post by *Lefteous »

Ich weiß garnet was ihr alle habt, man kann doch eh nur leere Verzeichnisse löschen, oder?
icfu
Power Member
Power Member
Posts: 6052
Joined: 2003-09-10, 18:33 UTC

Post by *icfu »

Womit kann man doch eh nur leere Verzeichnisse löschen?

Mit RmEmpty und DelEmpty: Ja.
Mit TC im Asynchronmodus: Nein.

Muß ich Deine Frage verstehen? ;)

Icfu
This account is for sale
JOUBE
Power Member
Power Member
Posts: 1667
Joined: 2004-07-08, 08:58 UTC

Post by *JOUBE »

Hallo,

Zur Erlaeterung: Ein Profi ist jemand, der etwas professionell (also beruflich) beteibt. Daran ist nichts, mit dem man sich zu messen koennen glauben muss (in Sinne von besser/schlechter o.ae.). Nur Laien denken etwas anderes.

Das laienhafte Verstaendnis in einigen Antworten auf meinen Beitrag hin wird auch darin deutlich, dass - als Reaktion auf die Anforderungen an ein kleines Programm wie Tests oder Vorliegen des Sourcodes - danach gefragt wird, ob denn Tests mit dem TC in bestimmten Fragen durchgeführt wurden und ob mir der Sourcecode des TC vorliege...

Hier liegt ein mangelndes und laienhaftes Verstaendnis der Verhaeltnisse vor.

Dazu ein Beispiel: In einem - imaginaeren - Fall loesche ich bei einem Kunden auf seinen Wunsch hin alle leeren Unterverzeichnisse auf einer seiner Festplatten. Dabei geht etwas schief, wichtige Daten werden geloescht, das zum Loeschen verwendete Programm arbeitet offenbar fehlerhaft.

Fall 1 : Eines der in einem Vor-Posting genannten Mini-Tools, das aus dem Internet downgeloaded wurde, wurde als Loeschprogramm benutzt. Der Kunde wird mir (ggf. per Anwalt und Klage) vorwerfen, er habe darauf vertraut, dass ich Software einsetzte, die mir bekannt ist als im benutzten Bereich fehlerfrei arbeitend. Hier wird dann bei einem Mini-Tool nach Tests und Sourcecode gefragt. Und tatsächlich, so etwas muss ich in diesem Fall durchgeführt haben bzw es muss zum Beispiel der Sourcecode vorliegen o.ae.

Fall 2: Der TC wurde als Loeschprogramm benutzt. Der Kunde wird mir ebenfalls vorwerfen, er habe darauf vertraut, dass ich Software einsetzte, die mir bekannt ist als im benutzten Bereich fehlerfrei arbeitend. Mit dem Hinweis darauf, dass der TC als weit verbreitetes Tool vielfach und weithin bekannt und anerkannt ist, und ich deshalb darauf vertrauen konnte, dass er weitgehend und im verwendeten Gebrauch als Dateimanager fehlerfrei arbeitet, werden spezielle Tests des Programms oder vorliegen des Sourcecodes von mir nicht verlangt werden.

Noch einmal zum O.-Posting: Die Frage war, ob man mit dem TC aus einer Verzeichnisstruktur von ca. 1500 Verzeichnissen alle leeren Verzeichnisse löschen kann. Die Antwort lautet: Man kann. Nicht mehr, aber auch nicht weniger.

Es draengt sich der Eindruck auf, dass es in manchen Beitraege eher jammernd und lechtzend um neue/andere/mehr Features des TC um ihrer selbst geht (auch im Vergleich zu/Wettbewerb mit anderen Programmen), als um den Gebrauch des TC und die Fragen und Antworten zu Lösungen, die man mit dem TC erreichen will und kann.

Ein Satz zum Schluss [OT]: Vom TC, den ich schon sehr lange benutze, erwarte ich vor allem fehlerfreies Arbeiten. Neue Features bitte erst wieder, wenn der Status nahezu fehlerlos wieder erreicht ist. Das gilt besonders für offensichtliche Grundfunktionen, wie das richtige Anzeigen der Icons von Dateien. Ein Software, bei der solche grundlegenden Dinge nicht unter Kontrolle sind, macht mich misstrauisch. Das ist schade. Mit unzuverlässiger Software muss ich schon genug arbeiten, ja die kann ich sogar einfach selbst herstellen.

Gruss

JOUBE
Post Reply