Wunsch: NTFS-Reparsepoints

German support forum

Moderators: Hacker, Stefan2, white

Post Reply
User avatar
RoMa
Junior Member
Junior Member
Posts: 25
Joined: 2003-03-08, 11:38 UTC

Wunsch: NTFS-Reparsepoints

Post by *RoMa »

Zwar unterstützt NTFS 5 (ab Win2k) Reparse-Points, jedoch stellt Windows - 'mal abgesehen von der 'Datenträgerverwaltung' - keine Tools zur Verfügung, um welche zu erstellen oder sie als solche zu erkennen. Im Moment nutze ich das von Sysinternals zur Verfügung gestellte Kommandozeilentool 'Junction.exe', was natürlich nicht besonders komfortabel ist.
Wäre es machbar, so etwas in TC zu integrieren?
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50561
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Habe ich schon erwogen - programmiertechnisch ist das relativ einfach. Allerdings habe ich so meine Befürchtungen, dass viele unbedarfte User da ein Chaos erzeugen könnten, oder aus Versehen eine ganze Partition löschen, die zufällig in das gerade gelösche Unterverzeichnis eingehängt ist. Deshalb überlasse ich das lieber Spezialtools. So oft muss man die Junctions ja nicht umhängen, oder?
Author of Total Commander
https://www.ghisler.com
User avatar
RoMa
Junior Member
Junior Member
Posts: 25
Joined: 2003-03-08, 11:38 UTC

Post by *RoMa »

Was das die Häufigkeit angeht, mit der man Erzeugen Junctions anlegt, stimme ich zu. Aber gerade, wenn man einige davon angelgt hat, ist es
wichtig sich bewußt zu sein, ob sich hinter einem Verzeichnisnamen nun tatsächlich ein 'normales' Verzeichnis verbirgt, oder z.B. eine andere Partition. Da wäre eine optische Gedächtnisstütze schon ganz hilfreich :wink:
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50561
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Gute Idee, das werde ich in Erwägung ziehen.
Author of Total Commander
https://www.ghisler.com
User avatar
chriss
Senior Member
Senior Member
Posts: 221
Joined: 2003-02-12, 10:17 UTC

Post by *chriss »

moin

und wie wäre es wenn man es nicht mit "nomalen" mitteln löschen kann?

ich meine dass man dann diese "verzeichnisse" nur über einen menüpunkt entfernen kann.
gruß


chriss
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50561
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Ich habe jetzt die Anzeige von Junctions eingebaut (spezielles Link-Symbol). Beim Löschen wird schon bisher nur die Junction gelöscht, nicht deren Inhalt (ausser bei Win95Delete, das löscht über den Explorer, umd beim Löschen via Rechtsklick).

Die Erzeugung von Junctions werde ich in absehbarer Zeit nicht einbauen, da es keine offiziellen Funktionen zum Erzeugen von Junctions gibt. Sysinternals "bastelt" die selber zusammen - keine Garantie, dass das bei zukünftigen NTFS-Versionen nicht im Desaster endet.
Author of Total Commander
https://www.ghisler.com
RB
Junior Member
Junior Member
Posts: 14
Joined: 2003-07-04, 14:30 UTC

Post by *RB »

ghisler(Author) wrote:Die Erzeugung von Junctions werde ich in absehbarer Zeit nicht einbauen, da es keine offiziellen Funktionen zum Erzeugen von Junctions gibt.
Die API dafür heißt SetVolumeMountPoint() und ist seitens Microsoft im PSDK dokumentiert. Auch die von Sysinternals verwendeten Reparse-IOCTLs sind mittlerweile dokumentiert. Hier auch der Hinweis auf die seit W2K offizielle Unterstützung für "hard links" im POSIX-Stil, siehe CreateHardLink(). Ging auch schon mit NT4, hier aber nur ziemlich umständlich über die Backup-APIs. Hier erübrigt sich aber sicher eine spezielle Darstellung, da ein hard link tatsächlich wie eine eigenständige Datei aussieht, das Löschen eines hard link löscht nicht die eigentliche Datei.
GeroZ
Junior Member
Junior Member
Posts: 20
Joined: 2005-01-13, 22:05 UTC

Post by *GeroZ »

Ich gebe zu bedenken, dass das Erzeugen von Junctions wie das Erzeugen von SymLinks in UNIX eine (für mich) durchaus alltägliche Situation ist. Nicht so häufig wie das Anlegen eines Verzeichnisses, aber durchaus etwas, was ich mitunter brauche.
Bestes Beispiel: Es gibt Anwendungen, die ohne Admin-Rechte laufen, sofern ein Datenverzeichnis im Programmverzeichnis schreibfähig ist. Das erledigt man am einfachsten duch eine Junction auf ein leeres Verzeichnis irgendwo im Eigene Dateien oder Anwendungsdaten.

Tja - bislang DOS-Shell auf, junction eintippen, sich vergegenwärtigen, dass die Parameter-Reihenfolge exakt umgekehrt ist wie beim UNIX-"ln -s" ... und sich wieder mal drüber wundern, warum der TCMD das Anlegen nicht unterstützt bzw. unterstützen will.

... Frage in die Runde: Gibt's denn irgendein 3rd Party-Plugin für den TCMD, der das Anlegen von Junctions (meinetwegen mit installiertem junction.exe von SysInternals) unterstützt?

Danke im voraus!
icfu
Power Member
Power Member
Posts: 6052
Joined: 2003-09-10, 18:33 UTC

Post by *icfu »

http://www.totalcmd.net/plugring/ntfslinks.html

Wenn Du lieber ln unter Windows verwenden willst, das ist Bestandteil der Gnu CoreUtils:
http://gnuwin32.sourceforge.net/packages/coreutils.htm

Icfu
This account is for sale
GeroZ
Junior Member
Junior Member
Posts: 20
Joined: 2005-01-13, 22:05 UTC

Post by *GeroZ »

Vielen Dank, NTFSLinks ist sehr hilfreich. - Gut, dass es nun hier unter dem entsprechenden Thread als Link genannt ist. :)
TychoBarfy
Senior Member
Senior Member
Posts: 350
Joined: 2005-08-13, 15:13 UTC
Location: Berlin, Germany
Contact:

Post by *TychoBarfy »

Nicht zu vergessen NL_Info: http://www.totalcmd.net/plugring/nl_info.html

Content plugin for Total Commander, that allows to view number of hard links for files and also type and target for reparse points on NTFS.
Post Reply