Wunsch: NTFS-Reparsepoints
Moderators: Hacker, Stefan2, white
Wunsch: NTFS-Reparsepoints
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?
Wäre es machbar, so etwas in TC zu integrieren?
- ghisler(Author)
- Site Admin
- Posts: 50561
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
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
https://www.ghisler.com
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
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

- ghisler(Author)
- Site Admin
- Posts: 50561
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
- ghisler(Author)
- Site Admin
- Posts: 50561
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
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.
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
https://www.ghisler.com
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.ghisler(Author) wrote:Die Erzeugung von Junctions werde ich in absehbarer Zeit nicht einbauen, da es keine offiziellen Funktionen zum Erzeugen von Junctions gibt.
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!
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!
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
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
-
- Senior Member
- Posts: 350
- Joined: 2005-08-13, 15:13 UTC
- Location: Berlin, Germany
- Contact:
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.
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.