我有一个包含快捷方式文件的子目录,假设它是“shortcut.lnk”。并且此项目指向其他位置。在 Windows 资源管理器中单击它时,会弹出目标子目录。
如何使用 cmd.exe 处理该项目?如何使用 cmd.exe 遵循该快捷方式?
我可能不想添加任何第三方软件,但出于可移植性原因,我想坚持使用 Windows 标准工具解决这个问题。
我有一个包含快捷方式文件的子目录,假设它是“shortcut.lnk”。并且此项目指向其他位置。在 Windows 资源管理器中单击它时,会弹出目标子目录。
如何使用 cmd.exe 处理该项目?如何使用 cmd.exe 遵循该快捷方式?
我可能不想添加任何第三方软件,但出于可移植性原因,我想坚持使用 Windows 标准工具解决这个问题。
好的旧 VBS 似乎是一个明显简单、简短和板载解决方案的关键:
@echo off
Set Shortcut=%~1
echo set WshShell = WScript.CreateObject("WScript.Shell")>DecodeShortCut.vbs
echo set Lnk = WshShell.CreateShortcut(WScript.Arguments.Unnamed(0))>>DecodeShortCut.vbs
echo wscript.Echo Lnk.TargetPath>>DecodeShortCut.vbs
set vbscript=cscript //nologo DecodeShortCut.vbs
For /f "delims=" %%T in ( ' %vbscript% "%Shortcut%" ' ) do set target=%%T
del DecodeShortCut.vbs
Echo Shortcut %shortcut%
Echo Target "%target%"