[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 5# cjiabing


    用手拖的意思,即是等同于把文件路径作为脚本的参数传递。

TOP

本帖最后由 tiandyoin 于 2024-10-3 02:04 编辑

回复 4# tireless

找到失败的例子:
建立到 Snipaste 2.9.2.0 的链接 Snipaste.exe.lnk,查看链接的内容如下:
  1. L...C:\︹熠1湜...
  2. /E:...
  3. E:\Program Files\Snipaste(截屏)\Snipaste.exe...
复制代码
结果为 : C:\︹熠1湜
可能是因为重装系统,解除bitlocker,移动了源目录等造成的,正常情况不会这样吧~

重新写一个
  1. @rem Usage:
  2. rem 获取快捷方式的目标路径:
  3. rem 直接读取 lnk 的内容,取出第二串 ASCII 路径。第一串是盘符如: /C:\
  4. :get_lnk_target6 {<@in &file=*.lnk> ,[@out target]}
  5. call set "filepath=%%%~1%%"
  6. setlocal enabledelayedexpansion
  7. set "filepath=!filepath:%%=""%%""!"
  8. endlocal & set "filepath=%filepath%"
  9. set target=
  10. for /f "skip=2 delims=" %%a in ('find ":\" "%filepath%"') do (
  11. if "%~2" neq "" (set "%~2=%%a") else echo "target=%%a"
  12. setlocal enabledelayedexpansion
  13. @if "!target:~0,1!!target:~0,1!"=="//" goto :eof
  14. endlocal
  15. set "target=%%a"
  16. )
  17. @goto :eof
  18. call :get_lnk_target6 "...\xxx.lnk" returnVal
复制代码

TOP

返回列表