中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-12 18:43
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 用 批处理 如何获取一个快捷方式的绝对路径 查看 968 回复 5
楼 主 用 批处理 如何获取一个快捷方式的绝对路径 发表于 2009-11-22 16:17 ·  中国 浙江 宁波 电信
初级用户
积分 32
发帖 32
注册 2008-04-18 17:22
18年会员
UID 116262
性别 男
状态 离线
有个批处理:a.bat
内容就一句话 为:

runas.exe /user:BASEUSER "%~f1"

如果我把一个程序的快捷方式拖到这个P处理上,但无法运行.感觉"%~f1"还是快捷方式本身

有知道的朋友能否告知一声,谢谢了
2 发表于 2009-11-22 17:25 ·  中国 重庆 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
批处理获取快捷方式指向的路径
http://bbs.bathome.cn/thread-3418-1-1.html

vbs能否获取快捷方式中的程序路径?
http://www.cn-dos.net/forum/viewthread.php?tid=34397
3 发表于 2009-11-22 17:29 ·  中国 广东 广州 花都区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
19年会员
UID 74552
性别 男
状态 离线
start "%~1"
49206C6F766520796F752067757973 54656C3A3133383238343036373837
4 发表于 2009-11-23 00:00 ·  中国 浙江 宁波 电信
初级用户
积分 32
发帖 32
注册 2008-04-18 17:22
18年会员
UID 116262
性别 男
状态 离线
用了tireless朋友的方法,可以实现拖 .lnk的,

for /f "skip=3 delims=" %%p in ('find ":\" %1') do runas.exe /user:USERBASE "%%p"

但关于程序本身的.exe拖到这个批处理上却无法运行.

怎么实现无论是.lnk或者.exe的都可以拖呢?
5 发表于 2009-11-23 20:06 ·  中国 福建 福州 连江县 电信
中级用户
★★
积分 356
发帖 115
注册 2004-07-27 00:00
22年会员
UID 29114
性别 男
状态 离线
苯办法,先判断后跳转。
@echo off
if %~x1==.lnk goto :lnk
if %~x1==.exe goto :exe
echo not lnk or exe
pause
exit
:lnk
::快捷方式语句

exit
:exe
::程序语句
6 发表于 2009-11-24 00:07 ·  中国 浙江 宁波 电信
初级用户
积分 32
发帖 32
注册 2008-04-18 17:22
18年会员
UID 116262
性别 男
状态 离线
楼上的朋友也不失为一种可行的方法,TKS
论坛跳转: