标题: 如何批量执行一个文件夹下的所有快捷方式?
[打印本页]
作者: wtp791211
时间: 2009-5-26 07:00
标题: 如何批量执行一个文件夹下的所有快捷方式?
如何批量执行一个文件夹下的所有快捷方式?
我现在的问题是这个文件下所有的快捷方式不能同时执行,得要等第一个执行完了以后再执行第二个,以此类推。
for %%1 in (d:\*.lnk)do start %%1
我试过用for这个,但是是一次性全运行了,呵呵,我不能要这样的,请各位朋友帮帮忙,小弟感激不尽。。。
[
Last edited by wtp791211 on 2009-5-26 at 07:14 ]
作者: tireless
时间: 2009-5-26 07:06
for %%1 in (d:\*.lnk) do "%%1"
[
Last edited by tireless on 2009-5-26 at 08:24 ]
作者: wtp791211
时间: 2009-5-26 07:13
这样好像也不行,会一起运行。
作者: tireless
时间: 2009-5-26 08:18
如果快捷方式中的目标没有参数:
@for /f "delims=" %%a in ('find ":\" d:\*.lnk^|findstr /v "^/ ^-"') do @"%%a"
作者: wtp791211
时间: 2009-5-27 05:22
谢谢4楼的朋友,这种办法不错,但是批处里中的^|findstr /v "^/ ^-"' 这个不是太明白,呵呵. 还有一个,就是有些快捷方式可以运行,有些用这个方法运行不起来,还有个别的快捷方式,用批处理运行出来的结果,跟我直接双击批处理运行出来的结果不一样,呵呵..
作者: tireless
时间: 2009-5-27 07:24
标题: re 5 楼
那应该是“参数”和“工作目录”的问题。
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
)
作者: pursuit
时间: 2009-6-21 01:14
xiexie
作者: wtp791211
时间: 2009-6-26 03:38
太谢谢6楼的朋友了,解决到了,再次感谢!