Kann ich eine Verknüpfung erstellen, die unabhängig vom Laufwerksbuchstaben auf ein bestimmtes Laufwerk verweist?

1524
Wes

Ich bemerkte, dass ich nicht verwenden kann \\?\Volume\path\to\targetoder \Device\HarddiskVolume5\path\to\targetals Abkürzung Ziele-es wird nicht funktionieren. Es funktioniert nur, wenn ich Laufwerksbuchstaben in absoluten Pfaden verwende. Ich möchte keine Laufwerksbuchstaben oder relative Pfade verwenden.

Kann ich ein Ziel für eine Verknüpfung angeben, das nicht abbricht, wenn sich Laufwerksbuchstaben ändern? Kann ich alternativ dazu einen NTFS-Analysepunkt (z. B. einen Knotenpunkt) erstellen?

2
Es ist nicht möglich. DavidPostill vor 9 Jahren 2
Sie meinen, es gibt keine Alternativen, die das Ziel am besten erreichen, weder programmgesteuert noch können Sie mir eine Best Practice anbieten, die dieses Ziel am besten erreicht? Wes vor 9 Jahren 0
Per Definition können Sie nicht tun, was Sie wollen. DavidPostill vor 9 Jahren 0
Ich bin mir sicher, dass jemand ein Programm schreiben könnte, um defekte Links zu reparieren, aber meines Wissens hat es keiner. Das wäre aber immer noch möglich. Ich bin sicher, es ist möglich, vielleicht unpraktisch. Wes vor 9 Jahren 0
"Ich möchte keine Laufwerksbuchstaben oder relative Pfade verwenden" - ist nicht möglich. DavidPostill vor 9 Jahren 1
"Ich möchte in der Lage sein, ein Ziel anzugeben, das die Verknüpfung nicht unterbricht, wenn sich die Laufwerksbuchstaben ändern." Ist nicht möglich. DavidPostill vor 9 Jahren 0
"Schreiben Sie ein Programm, um defekte Links zu reparieren" ist so unpraktisch, dass es unmöglich ist - woher sollen Sie wissen, wohin das Ziel des defekten Links verschoben wurde (Ziel könnte eine URL sein, die sich irgendwo im Cyberspace befinden könnte)? DavidPostill vor 9 Jahren 0
Anstatt fast identische Fragen erneut zu veröffentlichen, wäre es viel besser, wenn Sie Ihre Frage klarer formulieren würden. Bei zu vielen gelöschten Fragen besteht die Gefahr, dass Sie eine der Systemsteuerungen treffen, durch die Sie entweder weitere Fragen stellen oder einschränken können. Wenn Sie der Meinung sind, dass Ihre früheren Fragen von geringer Qualität waren, hätten Sie mit der Schaltfläche "Verbessern" oder "Bearbeiten" unter der Frage bessere Fragen stellen können. Mokubai vor 9 Jahren 2
Das beste, was ich mir vorstellen kann, um mein Ziel zu erreichen, ist ein symbolischer Link, der auf einen Laufwerksbuchstaben verweist. Wenn sich also der Laufwerksbuchstabe ändert, kann ich den Link auf den neuen Laufwerksbuchstaben verweisen. Oder vielleicht ein Netzlaufwerk, das einem Laufwerkbuchstaben entspricht. Das wären keine schlechten Vorschläge, obwohl ich etwas Robusteres vorziehen würde, aber das wären anständige Antworten gewesen. Wes vor 9 Jahren 0
@Mokubai Ich habe die zweite Frage gelöscht, weil sie als Duplikat markiert wurde. Ich habe meine erste Frage gestrichen, weil es eine rundum schlechte Frage war und niemand sie mehr las, weil sie alt war. Ich musste diese umformulieren, sonst wäre sie als Duplikat meiner zweiten Frage markiert worden. Wes vor 9 Jahren 0
Verwandte: http://superuser.com/questions/307955/how-do-windows-nt-based-operating-systems-address-devices bwDraco vor 9 Jahren 0
@DragonLord Diese Notation ist mir bekannt, aber es scheint nicht, dass Sie diese Notationen verwenden können, wenn Sie Verknüpfungsziele angeben. Wes vor 9 Jahren 0
Warum sollte sich ein Laufwerkbuchstabe ändern (es sei denn, Sie verwenden Wechselmedien)? LDC3 vor 9 Jahren 0
@ LDC3 Ich schaffe ein paar Dutzend Laufwerke und sie werden automatisch gemountet, und ich möchte sie nicht im Auge behalten. Wes vor 9 Jahren 0
Wenn die Laufwerke bereitgestellt werden, können sie eine Batchdatei vom Laufwerk ausführen? In der Batchdatei kann eine Umgebungsvariable festgelegt werden, mit der der Link (oder Pfad) festgelegt wird. LDC3 vor 9 Jahren 0

2 Antworten auf die Frage

2
DavidPostill

Kann ich eine Verknüpfung erstellen, die unabhängig vom Laufwerksbuchstaben auf ein bestimmtes Laufwerk verweist?

Ich möchte keine Laufwerksbuchstaben oder relative Pfade verwenden

Die Art von Zielen, die Sie verwenden möchten ( \?\Volume\path\to\targetoder \Device\HarddiskVolume5\path\to\target), sind keine gültigen Ziele für eine Verknüpfung.

Alle gültigen Ziele für Verknüpfungen müssen einen der unten angegebenen Typen verwenden.


Einstellungselemente für Verknüpfungen ermöglichen das Konfigurieren einer Verknüpfung zu einem Dateisystemobjekt (z. B. einer Datei, einem Ordner, einem Laufwerk, einer Freigabe oder einem Computer), einem Shellobjekt (z. B. einem Drucker, einem Desktopelement oder einem Bedienfeldelement) oder einem URL (z. B. eine Webseite oder eine FTP-Site).

Quelle Konfigurieren Sie ein Verknüpfungselement


Kann ich alternativ dazu einen NTFS-Analysepunkt (z. B. einen Knotenpunkt) erstellen?

Sie können mklink verwenden, um eine symbolische Verknüpfung des Formulars zu erstellen\\?\Volume\path\to\target.txt

c: md \test cd \test mklink testlink \\?\Volume\test\test.txt 

Nun enthält der Verzeichnistest einen symbolischen Link (der in meinem Fall auf eine Datei f:\test\test.txtauf einem externen Laufwerk verweist ).

C:\test>dir Volume in drive C has no label. Volume Serial Number is C8D0-DF1E  Directory of C:\test  29/03/2015 23:24 <DIR> . 29/03/2015 23:24 <DIR> .. 29/03/2015 23:17 <SYMLINK> testlink [\\?\Volume\test\test.txt] 1 File(s) 0 bytes 2 Dir(s) 248,410,976,256 bytes free 

...

C:\test>type testlink this file is test.txt C:\test> 

...

C:\test>type f:\test\test.txt this file is test.txt C:\test> 

Hinweis

  • Dies funktioniert nur, wenn Sie versuchen, den Link von der Eingabeaufforderung aus zu demeferenzieren, nicht jedoch, wenn Sie versuchen, über die Explorer-Benutzeroberfläche darauf zuzugreifen.

Lesen Sie weiter

  • Ein AZ-Index der Windows-CMD-Befehlszeile - Eine hervorragende Referenz für alles, was mit Windows-Cmd-Zeilen in Verbindung steht.
  • mklink - Erstellen Sie eine symbolische Verknüpfung zu einem Verzeichnis oder einer Datei oder erstellen Sie eine feste Dateiverknüpfung oder Verzeichnisverknüpfung.
Dieser Link bezieht sich nur auf Shell-Shortcuts. Wie kann es auf Symlinks oder Junctions auf Dateisystemebene angewendet werden? grawity vor 9 Jahren 0
@DavidPostill Symbolische Links oder zugeordnete Netzlaufwerke würden tatsächlich das leisten, was ich suche. Ich meine, Sie ändern die Buchstaben auf den Bänden, dann müssen Sie nur die Links auf einen anderen Buchstaben verweisen. Und Sie können diese Links in Verknüpfungen verwenden. Obwohl ich auf eine bessere Lösung als diese gehofft hatte, ist es sicherlich eine bessere als der Vorschlag "es ist nicht möglich". Wes vor 9 Jahren 0
@ grawity junctions wurde der Frage ** hinzugefügt, nachdem ich ** beantwortet hatte. DavidPostill vor 9 Jahren 0
@wiss Antwort aktualisiert, um die Lösung über einen symbolischen Link zu erhalten DavidPostill vor 9 Jahren 0
0
hBy2Py

Es ist ein bisschen hack und möglicherweise unsicher, aber Sie sollten in der Lage sein, die Freigabe im Stammordner des gewünschten Laufwerks (z floatdrive. B. Freigabename) mit den entsprechenden Freigabeberechtigungen einzurichten und anschließend alle Verknüpfungen / Links mithilfe der Netzwerk-URL-Syntax zu erstellen localhost:

\\localhost\floatdrive\folder\or\file\of\interest.txt 

Solange Windows das Laufwerk korrekt einbindet, folgt der Freigabename möglicherweise dem Laufwerk, unabhängig davon, welchem ​​Laufwerksbuchstaben es zugewiesen wurde. Leider habe ich im Moment noch kein System zur Verfügung, um dies zu testen.