本帖最后由 tiandyoin 于 2024-10-3 02:04 编辑
回复 4# tireless
找到失败的例子:
建立到 Snipaste 2.9.2.0 的链接 Snipaste.exe.lnk,查看链接的内容如下:- L...C:\︹熠1湜...
- /E:...
- E:\Program Files\Snipaste(截屏)\Snipaste.exe...
复制代码 结果为 : C:\︹熠1湜
可能是因为重装系统,解除bitlocker,移动了源目录等造成的,正常情况不会这样吧~
重新写一个- @rem Usage:
- rem 获取快捷方式的目标路径:
- rem 直接读取 lnk 的内容,取出第二串 ASCII 路径。第一串是盘符如: /C:\
- :get_lnk_target6 {<@in &file=*.lnk> ,[@out target]}
- call set "filepath=%%%~1%%"
- setlocal enabledelayedexpansion
- set "filepath=!filepath:%%=""%%""!"
- endlocal & set "filepath=%filepath%"
- set target=
- for /f "skip=2 delims=" %%a in ('find ":\" "%filepath%"') do (
- if "%~2" neq "" (set "%~2=%%a") else echo "target=%%a"
- setlocal enabledelayedexpansion
- @if "!target:~0,1!!target:~0,1!"=="//" goto :eof
- endlocal
- set "target=%%a"
- )
- @goto :eof
-
- call :get_lnk_target6 "...\xxx.lnk" returnVal
复制代码
|