如何从 Windows 中的命令提示符解析 .LNK 快捷方式?

dav*_*ion 4 windows cmd.exe file-shortcut

我有一个文件夹的快捷方式,我想从命令提示符打开它。我希望命令提示符立即更改为快捷方式的目标位置。相反,如果我尝试在命令提示符处执行快捷方式,它只会在 Windows 资源管理器中打开该文件夹。

如何从命令提示符解析快捷方式文件 (.LNK) 并切换到快捷方式的目标文件夹?

Kar*_*ran 5

当我启动 CMD 时,我看到 C:\Users\dave> 但我想将目录更改为 C:\wamp\www 而不必按 cd ../../。所以我在“dave”文件夹中创建了“www”文件夹的快捷方式。

这是一个典型的XY问题。如果您希望 CMD 始终在特定目录而不是默认目录中打开,您只需更改快捷方式的属性,如下所示:

在此输入图像描述

在 Windows 7 中,命令提示符快捷方式通常位于 中Start Menu > All Programs > Accessories,因此只需右键单击该快捷方式,选择“属性”并根据您的喜好编辑“开始于”字段。


您还可以创建一个名为d.bat 的批处理文件,其中包含一行cd /d c:\wamp\www。将批处理文件放置在路径中的某个位置,现在您需要做的就是打开 CMD 并输入d以更改到特定目录。还有很多类似的解决方案。


如果您执意要从命令提示符解析快捷方式 (.LNK) 文件,请将以下内容保存为ParseLnk.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"
Run Code Online (Sandbox Code Playgroud)


kru*_*ubo 5

如果有人像我一样遇到这个问题,想要仅使用命令提示符破译 .lnk 文件,请尝试:

type mylink.lnk|find "\"
Run Code Online (Sandbox Code Playgroud)

  • 对我来说这是正确的答案。谢谢。 (2认同)