如何通过 windows 快捷方式进入 cmd.exe 中的子目录?
how to follow a windows shortcut to a subdir in cmd.exe?
我有一个子目录,里面有一个快捷方式文件,假设它是 "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%"
我有一个子目录,里面有一个快捷方式文件,假设它是 "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%"