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

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

这就是问题所在。

我在大约 260 台计算机上有一个快捷方式,位于如下所示的同一文件夹中;

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

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

答案1

您可以使用为了或者福尔菲斯完成此任务。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)。\"\"只是转义的双引号,因为整个字符串已被引用。

答案2

根据帮助启动程序/命令不能有双引号。例如,只有*for %%a in ("C:\Documents and Settings\All Users\Desktop\Remote agent.lnk”)执行@start /D“%%~dpa”%%~nxa 工作正常!

相关内容