Wie kann ich eine .LNK-Verknüpfung von der Eingabeaufforderung in Windows aus analysieren?

6454
davexpression

Ich habe eine Verknüpfung zu einem Ordner und möchte ihn über die Eingabeaufforderung öffnen. Ich möchte, dass die Eingabeaufforderung sofort zum Zielspeicherort der Verknüpfung wechselt. Wenn ich versuche, die Verknüpfung an der Eingabeaufforderung auszuführen, wird der Ordner stattdessen einfach in Windows Explorer geöffnet.

Wie kann ich eine Verknüpfungsdatei (.LNK) von der Eingabeaufforderung aus analysieren und zum Zielordner der Verknüpfung wechseln?

0
Ich denke, du gehst irgendwie falsch herum. Weitere Informationen finden Sie unter [Wie kann ich CMD in einem bestimmten Ordner öffnen] (http://stackoverflow.com/questions/60904/how-can-i-open-a-cmd-window-in-a-specific-location) cmd / K "cd / d C: \ Folder \ Folder" öffnet CMD in C: \ Folder \ Folder Darius vor 9 Jahren 1
Vielen Dank. Aber ich will nicht so gehen. Wenn ich CMD starte, sehe ich C: \ Users \ dave>, möchte aber das Verzeichnis in C: \ wamp \ www ändern, ohne cd ../../ drücken zu müssen. Also habe ich eine Verknüpfung des Ordners 'www' im Ordner 'dave' erstellt. davexpression vor 9 Jahren 0
@davexpression: Kannst du erklären, warum Darius 'Vorschlag nicht praktikabel ist? Dies ist die richtige Vorgehensweise, um beim Klicken auf die CMD-Verknüpfung automatisch das angegebene Verzeichnis zu öffnen. Karan vor 9 Jahren 0
Darius Vorschlag ist praktisch. Manchmal geht es nicht um Geschwindigkeit oder Alternativen, sondern um Möglichkeiten. Danke @Darius, der Link hat geholfen davexpression vor 9 Jahren 2

3 Antworten auf die Frage

4
Karan

Wenn ich CMD starte, sehe ich C: \ Users \ dave>, möchte aber das Verzeichnis in C: \ wamp \ www ändern, ohne cd ../../ drücken zu müssen. Also habe ich eine Verknüpfung des Ordners 'www' im Ordner 'dave' erstellt.

Dies ist ein typisches XY-Problem . Wenn Sie möchten, dass CMD immer in einem bestimmten Verzeichnis anstelle des Standardverzeichnisses geöffnet wird, müssen Sie lediglich die Eigenschaften der Verknüpfung wie folgt ändern:

In Windows 7 befindet sich die Eingabeaufforderung normalerweise in Start Menu > All Programs > Accessories, also klicken Sie mit der rechten Maustaste auf die Verknüpfung, wählen Sie Eigenschaften und bearbeiten Sie das Feld Start in nach Ihren Wünschen.


Sie können auch eine Stapeldatei mit dem Namen d.bat erstellen, die eine einzelne Zeile enthält cd /d c:\wamp\www. Platzieren Sie die Batch-Datei irgendwo in Ihrem Pfad. Jetzt müssen Sie nur noch CMD öffnen und d eingeben, um in das entsprechende Verzeichnis zu wechseln. Es gibt auch viele weitere ähnliche Lösungen.


Wenn Sie keine Tastenkombination (.LNK) von der Eingabeaufforderung aus analysieren müssen, speichern Sie Folgendes als ParseLnk.bat und führen Sie es an der Eingabeaufforderung aus als ParseLnk <LNK File>:

@echo off echo set WshShell = WScript.CreateObject("WScript.Shell")>Tmp.vbs echo set Lnk = WshShell.Createshortcut(WScript.Arguments(0))>>Tmp.vbs echo WScript.Echo Lnk.TargetPath>>Tmp.vbs for /f "delims=" %%d in ('cscript //nologo Tmp.vbs "%~1"') do del Tmp.vbs & cd /d "%%d" 
1
evilspoons

Ich denke, das Problem ist, dass eine .lnk-Datei ein Dokument ist, das von einem Programm - Explorer.exe - interpretiert wird, genau wie eine Docx-Datei von Word oder was auch immer behandelt würde. Sie müssten ein Skript schreiben, um die lnk-Datei zu analysieren und einen cd-Befehl auszuführen.

Möglicherweise können Sie in PowerShell (im Gegensatz zur Eingabeaufforderung) über ein Cmdlet das tun, was Sie möchten, entweder ein integriertes Drittanbieterprodukt oder eines, das Sie selbst schreiben könnten, aber ich weiß es nicht.

0
krubo

Falls jemand zu dieser Frage wie ich gekommen ist und eine .lnk-Datei nur mit der Eingabeaufforderung entschlüsseln möchte, versuchen Sie Folgendes:

type mylink.lnk|find "\"