如何從 Windows 中的命令提示字元解析 .LNK 捷徑?

如何從 Windows 中的命令提示字元解析 .LNK 捷徑?

我有一個資料夾的快捷方式,我想從命令提示字元中打開它。我希望命令提示字元立即變更為捷徑的目標位置。相反,如果我嘗試在命令提示字元執行快捷方式,它只會在 Windows 資源管理器中開啟該資料夾。

如何從命令提示字元解析捷徑檔案 (.LNK) 並切換到捷徑的目標資料夾?

答案1

當我啟動 CMD 時,我看到 C:\Users\dave> 但我想將目錄更改為 C:\wamp\www 而不必按 cd ../../。所以我在“dave”資料夾中創建了“www”資料夾的快捷方式。

這是一個典型的XY問題。如果您希望 CMD 始終在特定目錄而不是預設目錄中打開,您只需更改快捷方式的屬性,如下所示:

在此輸入影像描述

在 Windows 7 中,命令提示字元捷徑通常位於 中Start Menu > All Programs > Accessories,因此只需右鍵單擊該快捷方式,選擇「屬性」並編輯開始於您喜歡的欄位。


您也可以建立一個批次文件,例如蝙蝠其中包含一行cd /d c:\wamp\www。將批次檔放在路徑中的某個位置,現在您需要做的就是開啟 CMD 並輸入d更改到特定目錄。還有很多類似的解決方案。


如果您執意要從命令提示字元解析捷徑 (.LNK) 文件,請將以下內容另存為解析連結.bat並從命令提示字元執行它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"

答案2

如果有人像我一樣遇到這個問題,想要只使用命令提示字元破解 .lnk 文件,請嘗試:

type mylink.lnk|find "\"

答案3

我認為問題是 .lnk 檔案是由程式 - Explorer.exe 解釋的文件 - 就像 Word 或其他程式處理 docx 檔案一樣。您必須編寫某種腳本來解析 lnk 檔案並執行 cd 指令。

有可能能夠透過內建、第三方或您自己編寫的 cmdlet 在 PowerShell(而不是命令提示字元)中執行您想要的操作,但我不知道。

答案4

您可以透過插入以下項目在登錄中設定啟動腳本:

HKEY_CURRENT_USER\Software\Microsoft\Command Processor
Autorun REG_EXPAND_SZ <some-path-with-scripts>\msdos-startup.bat

在這個「msdos-startup.bat」檔案中,您放置定義某種別名的行(我在這裡使用上面 Karan 提供的腳本):

doskey l=<some-path-with-scripts>\ParseLnk.bat $*

現在,當您打開命令列控制台時,以上所有內容都將執行,您只需輸入:

l some-shortcut.lnk

相關內容