使用批处理文件启动快捷方式


12

这是问题所在。

我在大约260个位于以下同一文件夹中的计算机上都有一个快捷方式;

“ c:\ documents and settings \ all users \ desktop \ Remote agent 1234 .lnk”

快捷方式上唯一发生变化的是数字。有没有一种方法可以在批处理文件中使用通配符来启动快捷方式,而不必指定完整的文件名?

Answers:


6

您可以为此任务使用forforfiles。Forfiles更灵活,但是在旧版Windows上可能无法正常工作。

对于

在命令提示符下:

for %a in ("C:\Documents and Settings\All Users\Desktop\Remote agent *.lnk") do @start "" "%a"

在批处理文件中:

for %%a in ("C:\Documents and Settings\All Users\Desktop\Remote agent *.lnk") do @start "" "%%a"

档案

forfiles /P "C:\Documents and Settings\All Users\Desktop" /M "Remote agent *.lnk" /C "cmd /C start \"\" @path"

Forfiles将遍历指定路径中/P与上指定的掩码匹配的所有文件,/M并执行中指定的命令/C。这@path是文件的完整路径。

通常,我们将使用命令start "" "Remote Agent 1234.lnk"来启动快捷方式。由于start是一个内部命令,因此我们必须在新的shell(cmd /C)中调用它。\"\"只是转义了双引号,因为整个字符串已经被引用了。


forfiles / P“ C:\ Documents and Settings \ All Users \ Desktop” / M“远程代理* .lnk” / C“ cmd / C start \” \“ @path”列出文件夹中的文件,但不会打开捷径。
ghost3h

真奇怪 回叫文件名是默认操作,但是该/C开关会覆盖它。哪个版本的Windows?
丹尼斯

Xp Professional,它列出了所有文件扩展名,我认为这是不正常的吗?
ghost3h 2013年

看起来不像其支持的Dennis,它只是在其运行目录中回显文件。到目前为止,感谢您的帮助!
ghost3h 2013年

我刚刚发现一个消息来源说,一些较旧版本的forfiles -用于开关而不是/(对于Windows来说是非典型的)。也许这样有效:forfiles -P"C:\Documents and Settings\All Users\Desktop" -M"Remote agent *.lnk" -C"cmd /C start \"\" @path"
丹尼斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.