Ich habe ein Ordnerschema wie (stark vereinfachte Version):
New Files
>Tools
>Scripts
Tested Files
>Tools
>Scripts
... und ich möchte in jedem Ordner eine Verknüpfung von den untergeordneten Ordnern "Neue Dateien" zu den untergeordneten Ordnern "Getestete Dateien" haben. Dieser Ordner kann jedoch von Zeit zu Zeit verschoben werden, wodurch die Verknüpfungen unterbrochen werden.
Gibt es eine Möglichkeit, eine relative Verknüpfung zu jedem Ordner herzustellen? Ich erinnere mich, dass ich dies in HTML getan habe, wo Sie einen Pfad festlegen konnten .../Files
, um zu einem übergeordneten Ordner und dann zu einem neuen Ordner zurückzukehren, aber ich bin mir nicht sicher, ob dies unter Windows-Verknüpfungen unterstützt wird.
PS: Der Fall von ähnlich relativen Verknüpfungen, wenn das Ziel eine Datei ist, wird unter https://stackoverflow.com/questions/1169556/making-a-windows-shortcut-start-relative-to-where-the- behandelt. Ordner-ist . Im vorliegenden Fall ist das Ziel ein Ordner.
../Files
mit zwei Punkten versucht ? Ich verwende kein Windows, aber ich denke, es könnte funktionieren.Antworten:
Sie können dieses Dienstprogramm verwenden: Relativ .
Es wird im Grunde eine Verknüpfung zu "explorer.exe" mit dem Parameter Ihres relativen Pfads mit einem Rechtsklick erstellt (genauso wie Sie eine normale Verknüpfung erstellen).
Natürlich können Sie dies manuell tun.
In Ihrem Beispiel würden Sie unter "Neue Dateien \ Tools" eine Verknüpfung zu erstellen
%windir%\explorer.exe "..\..\Tested Files\Tools"
Sie können dafür das gewohnte Kontextmenü "Neu / Verknüpfung erstellen" von Windows verwenden und den obigen Befehl in das Feld "Position des Elements eingeben" eingeben.
quelle
%windir%\explorer.exe
vor dem relativen Pfad, während eine Standardverknüpfung erstellt wird. Wenn Sie dies also manuell tun, benötigen Sie Relative überhaupt nicht. (Sie müssen sich nur den Befehl vor Ihrem relativen Pfad merken)%windir%
in leer ändern .Eine mögliche Lösung ist die Verwendung einer einzeiligen Batch-Datei anstelle einer Abkürzung, um das zu öffnen, was Sie öffnen möchten. In der Stapeldatei können Sie relative Pfade in sich selbst verwenden und ein Arbeitsverzeichnis für den Ordner haben, in dem sich die Stapeldatei befindet.
Eine andere Möglichkeit ist, die Verknüpfung
cmd.exe
mit dem zu starten, was Sie starten, und als Argument zu übergeben, was auch immer Sie startencmd.exe
%COMSPEC%
ist eine Umgebungsvariable , die standardmäßig auf die Eingabeaufforderung verweist ./C
Bewirkt, dass sich die Konsole nach Ausführung des Befehls selbst schließt.quelle
Dieser Trick funktioniert:
% COMSPEC% / C startet "Ihren exe Namen ohne Pfad"
Beispiel
% COMSPEC% / C starten winmine.exe
quelle
%COMSPEC% /C "start GoogleChromePortable.exe -enableextensions -incognito"
Start In: [leer lassen]Ich verwende eine ähnliche Lösung in einer Vorlage, in der meine Webentwicklungsumgebung ausgeführt wird (Projektverzeichnis öffnen, Browser öffnen, WAMP ausführen, SCSS ausführen ...).
Ich kann Argumente an mein Fledermausskript übergeben und so weiter, das ist cool. Stellen Sie sicher,
/c
Argument nach zu setzencmd.exe
quelle
Sie können mklink verwenden . Hier können Sie symbolische Links, Hardlinks und Verzeichnislinks erstellen.
Wenn es keinen erhöhten Zugriff gibt, können Sie / j verwenden
Um sich in der gesamten Struktur zu bewegen, sollten Sie den Befehl xcopy verwenden . Wenn sich beispielsweise die gesamte Struktur unter dem Container befindet :
Befehl eingeben
erstellt die folgende Struktur:
Die Option / b kopiert die symbolischen Links, anstatt sie in Ordner zu konvertieren.
quelle
Eine Verknüpfung kann die Position in einer Variablen aufzeichnen und einen Befehl mit der Variablen aufrufen. Erstellen Sie beispielsweise die Verknüpfung "Großeltern" mit Ziel:
Erstellen Sie die Batch-Datei "C: \ Here.bat" mit der einzelnen Zeile:
Egal in welchem Ordner sich Grandparent befindet, wenn Sie darauf klicken, wird der übergeordnete Ordner des übergeordneten Ordners geöffnet. Es funktioniert sogar mit Großeltern in einem Stammverzeichnis.
Ihre Batch-Datei hat möglicherweise% HERE% verwendet, um etwas anderes als explorer.exe zu starten. Oder Sie können anstelle von Here.bat nach dem && im Verknüpfungsziel ein Programm aufrufen, das% HERE% verwendet.
Auf meinem System scheint Großeltern mit & oder && zu arbeiten.
quelle
&&
Führt den nächsten Aufruf nur aus, wenn der vorherige Aufruf keinen Fehler zurückgegeben hat, obwohl es&
das egal ist. In diesem Fall sollte es keinen Unterschied geben.Wenn Sie das
'Start In'
Feld in den Eigenschaften der Verknüpfung leer lassen, beziehen sich die Verknüpfungen auf das aktuelle Arbeitsverzeichnis.Siehe auch https://stackoverflow.com/a/17951772/40961
quelle
Sie können eine Umgebungsvariable erstellen, die den (relativen) Pfad zum Zielordner oder einen Ordner darüber in der Dateisystemstruktur enthält.
Beispiel:
Umgebungsvariable:
% Dropbox% = "C: \ Benutzer \ Benutzer 1 \ Dropbox"
Verknüpfungsziel:
"% Dropbox% \ Install \ Utilities \ File.exe"
Sie können den DOS-Befehl SETX verwenden, um Umgebungsvariablen zu erstellen.
quelle