中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-12 00:49
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何批量执行一个文件夹下的所有快捷方式? 查看 870 回复 7
楼 主 如何批量执行一个文件夹下的所有快捷方式? 发表于 2009-05-26 07:00 ·  中国 天津 联通
初级用户
积分 34
发帖 20
注册 2006-10-15 08:57
19年会员
UID 65839
状态 离线
如何批量执行一个文件夹下的所有快捷方式?
我现在的问题是这个文件下所有的快捷方式不能同时执行,得要等第一个执行完了以后再执行第二个,以此类推。
for %%1 in (d:\*.lnk)do start %%1
我试过用for这个,但是是一次性全运行了,呵呵,我不能要这样的,请各位朋友帮帮忙,小弟感激不尽。。。

[ Last edited by wtp791211 on 2009-5-26 at 07:14 ]
2 发表于 2009-05-26 07:06 ·  中国 江西 赣州 电信
银牌会员
★★★★
积分 2,025
发帖 1,122
注册 2007-09-05 20:15
18年会员
UID 96653
性别 男
状态 离线
for %%1 in (d:\*.lnk) do "%%1"


[ Last edited by tireless on 2009-5-26 at 08:24 ]
3 发表于 2009-05-26 07:13 ·  中国 天津 联通
初级用户
积分 34
发帖 20
注册 2006-10-15 08:57
19年会员
UID 65839
状态 离线
这样好像也不行,会一起运行。
4 发表于 2009-05-26 08:18 ·  中国 江西 赣州 电信
银牌会员
★★★★
积分 2,025
发帖 1,122
注册 2007-09-05 20:15
18年会员
UID 96653
性别 男
状态 离线
如果快捷方式中的目标没有参数:
@for /f "delims=" %%a in ('find ":\" d:\*.lnk^|findstr /v "^/ ^-"') do @"%%a"
5 发表于 2009-05-27 05:22 ·  中国 天津 联通
初级用户
积分 34
发帖 20
注册 2006-10-15 08:57
19年会员
UID 65839
状态 离线
谢谢4楼的朋友,这种办法不错,但是批处里中的^|findstr /v "^/ ^-"' 这个不是太明白,呵呵. 还有一个,就是有些快捷方式可以运行,有些用这个方法运行不起来,还有个别的快捷方式,用批处理运行出来的结果,跟我直接双击批处理运行出来的结果不一样,呵呵..
6 re 5 楼 发表于 2009-05-27 07:24 ·  中国 江西 赣州 电信
银牌会员
★★★★
积分 2,025
发帖 1,122
注册 2007-09-05 20:15
18年会员
UID 96653
性别 男
状态 离线
那应该是“参数”和“工作目录”的问题。

findstr /v "^/ ^-"' 是过滤掉开头是 / 或 - 的行,^ 是匹配开头。参见 findstr /?

------------
再试试这个:(需下载 shortcut)
@echo off
for %%? in (D:\*.lnk) do (
for /f "skip=3 eol=I delims=" %%a in ('shortcut /f:"%%?" /a:q') do set %%a 2>nul
setlocal enabledelayedexpansion
start "" /d"!WorkingDirectoryExpanded!" /wait "!TargetPathExpanded!" !Arguments!
endlocal
)
7 发表于 2009-06-21 01:14 ·  中国 北京 海淀区 联通
新手上路
积分 1
发帖 1
注册 2009-04-24 14:02
17年会员
UID 143711
性别 男
来自 china
状态 离线
xiexie
8 发表于 2009-06-26 03:38 ·  中国 四川 成都 电信
初级用户
积分 34
发帖 20
注册 2006-10-15 08:57
19年会员
UID 65839
状态 离线
太谢谢6楼的朋友了,解决到了,再次感谢!
论坛跳转: