Windows 7 4.538 Themen, 43.635 Beiträge

Dateimanager, der symbolische Links/junction points unterstützt.

Mdl / 7 Antworten / Baumansicht Nickles

Wollte heute einige Dateien ausmisten und Verzeichnisse löschen und bin (wieder einmal?) vor eineim blöden Problem gestanden, das ich mir vielleicht selber eingebrockt habe: Meine Verwendug von symbolischen Links.

Die sind sehr nützlich, aber wie es scheint, scheint keiner meiner Datei-Explorer-Ersatzprogramme diese besonders gut zu unterstützen. Und gerade beim Löschen von Dateien / Verzeichnissen ist das fatal:

Angenommen, ich habe irgendwo in einem Unterverzeichnis eines Verzeichnisses, das ich löschen will einen symb. Link-Verweis auf irgendein anderes Verzeichnis irgendwo auf einer Festplatte. Wenn ich jetzt dieses Verzeichnis mit dem Inhalt löschen will, wird automatisch auch das Verzeichnis, auf das verwiesen wird gelöscht. Natürlich will ich dies so nicht. Lediglich der Link soll entfernt werden.

Kann ja eigentlich nicht so schwer sein, vor dem Löschen zu checken, ob es sich bei einem Verzeichnis um ein wirkliches Verzeichnis oder einen Link handelt.

Kennt Ihr also Programme, die die besonders beim Löschen von Verzeichnissen symbolische Links sinnvoll handhaben?

Können auch kommerzielle sein; vielleicht habe ich es ja zufällig.

Wie machen die von Euch das mit dem Löschen, die auch symb. Links verwenden?

Gruß,

Mdl

bei Antwort benachrichtigen
mi~we Mdl „Dateimanager, der symbolische Links/junction points unterstützt.“
Optionen
wird automatisch auch das Verzeichnis, auf das verwiesen wird gelöscht.

Also das kann ich nicht bestätigen. Bei mir löscht der Explorer nur die symbolischen Links und nicht auch noch die Ordner/Dateien, auf die diese Links verweisen. Bevor du jetzt fragst: Ich wüsste nicht, daß man über irgendeinen Konfigurationsdialog oder Registry-Schlüssel dieses Verhalten ändern kann.

"Es wäre dumm, sich über die Welt zu ärgern. Sie kümmert sich nicht darum." (Marc Aurel)
bei Antwort benachrichtigen
Mdl mi~we „Also das kann ich nicht bestätigen. Bei mir löscht der ...“
Optionen

Hallo mi~we,

wie es aussieht, hast Du recht und ich habe umsonst die Pferde scheu gemacht.

Die Erfahrung von der ich sprach habe ich auch nicht heute gemacht - ich habe mich daran erinnert und dann das Löschen mit Hand gemacht, bzw. mit dem Ausmisten frühzeitig aufgehört.

Habe versucht das Problem nachzuvollziehen, mit einer einfachen Batchdatei:

   md 1
   md 2
   echo >2\important.txt Very important content
   md 1\1.2
   makelink 1\1.2 2

und habe mit dem Explorer und einem weiteren Dateimanager versucht Verzeichnis 1 zu löschen.

Beide haben dann doch in meinem Sinne gehandelt und das Verzeichnis 2 und die darin befindliche wichtige Datei 'important.txt' nicht gelöscht (, obwohl Verzeichnis 1\1.2 ja auf 2 verweist und z.B. DIR /S 1 ja auch important.txt anzeigt).

Also wohl Entwarnung! Obwohl mir noch immer ein bisschen mulmig dabei ist und ich das Resultat lieber sicherheitshalber nochmals checke. Ist leider schon etwas länger her, dass ich dieses Problem explizit 'festgestellt' habe und kann nicht mehr rekapitulieren mit welchem Programm das passiert ist. 

Vielleicht find' ich's ja noch raus...

Gruß,

Mdl

bei Antwort benachrichtigen
mi~we Mdl „Hallo mi we, wie es aussieht, hast Du recht und ich habe ...“
Optionen

Ein solches Verhalten des Explorer wäre ja auch etwas dämlich. Dann würde ja z.B. auch jedesmal, wenn ich etwa auf dem Desktop einen Link lösche, gleich die Datei, auf die der Link verweist, mitgelöscht. Das wäre nun sicherlich nicht im Sinne des Erfinders.

"Es wäre dumm, sich über die Welt zu ärgern. Sie kümmert sich nicht darum." (Marc Aurel)
bei Antwort benachrichtigen
Mdl mi~we „Ein solches Verhalten des Explorer wäre ja auch etwas ...“
Optionen

@ mi~we: Nunja, in Ausnahmefällen wäre das vielleicht sogar ein gewünschtes Verhalten, z.B. wenn man für ein Thema mehrere physische Positionen hat und dieses Thema gerne komplett löschen würde, wie

z.B. in ein Ordner 'MeineVolkmusik' mit ausschließlich Links zu Verzeichnissen wie 'HansiH' und 'FlorianS', etc.

Wenn mir z.B Volksmusik gar nicht mehr gefällt (oder mir einfach der Platz auf dieser einen Platte ausgeht und ich mir daher eine zweite gekauft habe, und auf der einen HeavyMetal und auf der anderen Volksmusik haben möchte und somit erstmal die gesamte Platte (z.B. mit Paragon) 1:1 kopiert habe und jetzt auf der einen HD die eine Musikrichtung und auf der anderen die andere löschen wollte) könne ich ja wollen, dass auch alle Verweise entfernt würden.

~~~~~~~

Apropos verlinkter 'Dateien', die Du kurz angesprochen hast:

   Wie verlinkst Du Dateien, z.B. EXE-Dateien?

Mein im Batchfile aufgerufenes Programm MAKELINK ((C) 2000 von Mikael Nordell, wenn jemand danach suchen will (inkl. SourceCode!)) kann das leider nicht.

Gruß,

Mdl

bei Antwort benachrichtigen
mi~we Mdl „@ mi we: Nunja, in Ausnahmefällen wäre das vielleicht ...“
Optionen
in Ausnahmefällen wäre das vielleicht sogar ein gewünschtes Verhalten

Das grundlegende Problem ist doch, daß man bei Verwendung solcher symbolischer Links schnell den Überblick verlieren kann, wo man überall Links auf was gesetzt hat. Wenn man jetzt Windows anweisen könnte, beim Löschen nicht nur die symbolischen Links zu löschen sondern auch die verlinkten Ordner/Dateien , dann kann schnell was gelöscht werden, was gar nicht gelöscht werden sollte. Ich halte es schon für sehr vernünftig, daß Windows so was nicht anbietet.

P.S. Was meinst du mit MAKELINK kann keine Links auf EXE-Dateien erzeugen? Welchen Dateityp die verlinkte Datei hat, ist doch Schnuppe!?

"Es wäre dumm, sich über die Welt zu ärgern. Sie kümmert sich nicht darum." (Marc Aurel)
bei Antwort benachrichtigen
Mdl Nachtrag zu: „Dateimanager, der symbolische Links/junction points unterstützt.“
Optionen

.

bei Antwort benachrichtigen
Mdl Nachtrag zu: „Dateimanager, der symbolische Links/junction points unterstützt.“
Optionen

UND DOCH würde ich mir wünschen, dass Dateimanager symbolische Links/junction points besser unterstützen.

Im Prinzip sollten sie für meines Erachtens für alle Dateioperationen 3 Optionen für Verzeichnisse, die als symb. Links definiert wurden, anbieten:

1) Sybolische Links wie normale Verzeichnisse behandeln (wird so gehandhabt in z.B.DIR /S)

2) Symbolische Links wie Dateien behandeln (wird - wie wir jetzt also festgestellt haben vom Explorer so gehandhabt beim Löschen von Verzeichnissen: es wird nur der Link gelöscht)

3) Interaktivität - Explizites Fragen des Anwenders: "Bin da auf dieses Verzeichnis gestoßen: Was soll ich machen? (1) oder (2) (und wenn (1), wie soll ich symb. Links innerhalb dieses Verzeichnisses handhaben (auch wieder (1) (2) (3))?)

~~~~~~~

Um bei meinem Batchfile, welches eine Testsituation generiert bleiben

GENERATE.BAT

md 1
md 2
echo >2\important.txt Important and confidential content
md 1\1.2
makelink 1\1.2 2


Angenommen ich bin gerade im Verzeichnis MY_DIR in welchem ich dieses ausführe.

Was soll passieren, wenn ich jetzt MY_DIR sagen wir auf eine andere Partition kopieren will?

Im Normallfall denke ich, dass die Kopie eine exakte Kopie der Struktur des Quellverzeichnisses behält. Also inbes. dass IMPORTANT.TXT auch dort nur einmal gespeichert ist. Oder?

Wie verhält sich jetzt der Windows-Explorer?

Nunja, ein Bild sagt mehr als 1000 Worte:



Kopierversuch


Resultat


Ich habe das mehrfach versucht und sogar nach einem extra deswegen durchgeführten Neustart. Tritt dieses Phänomen bei Euch auch auf??
Seltsamerweise hatte ich - vielleicht fälschlich - in Erinnerung, dass er bei meinem ersten Versuch ein Resultat hervorgebracht hat, aber evtl. habe ich das mit meinem Explorer-Ersatzprogramm DOpus zuerst versucht...

Wie macht es dann also ein typisches(?) Explorer-Ersatzprogramm?

Ich verwende hier mein Standardprogramm, DirectoryOpus, mit dem ich ansich recht zufrieden bin und nicht einmal ansatzweise dessen Möglichkeiten nutze. In diesem Fall bin ich aber auch nicht wirklich zufrieden, auch wenn es bei dieser Standardaufgabe nicht abstürzt:

Es stürzt nicht ab, aber erzeugt im Zielverzeichnis keinerlei Links, sondern behandelt Links genau so, wie Verzeichnisse. Daher ex. die Datei IMPORTANT.TXT jetzt doppelt im Zielverzeichnis (genauer: Im Zielverzeichnis ex. jetzt die Dateien 1\1.2\important.txt, 2\important.txt und die entspr. Verzeichnisse).

Würde es sich z.B. um eine vertrauliche Datei handeln und der Anwender würde sie aus dem Verzeichnis 1 löschen in der Annahme, dass sie nur einmal existiert, hätte er sich geschnitten.

Oder er würde sie editieren in der Annahme, dass die Änderungen damit auch an allen darauf verweisenden Stellen geändert wären, wäre auch dies nicht der Fall.

Und würde es sich um eine hinreichend große Datei handeln, wäre durch die doppelte Speicherung unangenehm weniger Platz auf der Festplatte (oder der Kopiervorgang würde aufgrund Speichermangel abgebrochen).
 
Hier noch ein kleiner gemeiner Zusatz, angehängt an obiges Batchprogramm:

   md 2\2.1
   makelink 2\2.1 1

Dieses neue Batchfile, nennen wir es mal GENERATE+.bat, erzeugt eine zyklische Linkkette.

Beim der bisher erfahrenen Handling von DOpus - der Explorer stürzt wieder ab - hätte ich erwartet, ja fast gehofft, dass er aus dem Kopieren gar nicht mehr herauskommt, da ja jetzt 1\1.2->2, 2\2.1->1, 1\1.2->2, ...(->: zeigt auf)
Beim Kopieren (inkl. Unterverzeichnissen) von Verzeichnis 1 würde das Prg - so die Idee - also auch 1.2 kopieren wollen, was ja auf 2 gelinkt ist, dann auch wieder 2.1, was wiederum auf 1 zeigt.
Kurzum, es würde, da es aufgrund seiner Nicht-Unterscheidung zwischen echten Verzeichnissen und symb. Links endlos kopieren.

War aber nicht so. Offensichtlich wurde das Problem erkannt und das Kopieren bei symb. Links nicht fortgesetzt. Immerhin. Jetzt ex. im Zielverzeichnis dieselben Verzeichnisse und Dateien, die GENERATE.BAT erzeugt hat und zusätzlich noch ein leeres Verzeichnis 2\2.1

Neben den oben angesprochenen Problemen kommt jetzt noch hinzu, dass sich im Zielverzeichnis die Verzeichnisstruktur stark verkürzt hat.
Ex. im Quellverzeichnis der Pfad '...\1\1.2\2.1', gibt es diesen im Zielverzeichnis nicht mehr und der Zugriff auf die Datei '...\1\1.2\2.1\1.2\important.txt' im Quellverzeichnis geht im Zielverzeichnis dann natürlich auch nicht mehr.

Vielleicht kennt jemand also eine Möglichkeit saubere Kopien von Verzeichnisstrukturen zu erstellen, sei es jetzt mit einem komfortableren Explorer-Ersatzprogramm oder via Konsole. (Geht es vielleicht mit RoboCopy?)

Bisher bin ich mir nur bei einer Methode relativ sicher. Die zuvor erwähnte 1:1-Kopie einer Parititon (mit z.B. Paragon).

Beokmmt Ihr auch diese Abstürze? Mein System ist win7,x64...

Gruß,

Mdl


P.S.: So umfangreich war das alles nicht geplant...

bei Antwort benachrichtigen