bat如何批量运行exe文件

如题所述

第一步:准备好用于输入的文件list.txt,每次一行,形如:

20

100

"data.1.txt"

20

100

"data.2.txt"

保存为list.txt

注意,如果运行100次,每次输入3回,则list.txt应有300行。(输入内容有规律的话,也可以用批处理生成list.txt)

第二步:

(1)如果AA.exe本身是命令行程序的话,批处理文件a.bat这样写就可以了:

@echo off

(for /l %%i in (1,1,100) do AA.exe)<list.txt

(2)如果AA.exe是带有图形界面的程序的话,那就有点复杂了。我能想到的就是模拟按键输入,不知道还有没有其他好的方法。批处理文件a.bat如下:

@echo off

set cnt=100

set num=3

set "title=输入提示"

set time1=2

set time2=3

(for /l %%i  in (1,1,%cnt%) do (

start "" AA.exe

ping -n %time1% 127.1 >nul

for /l %%j in (1,1,%num%) do (

set /p str=

setlocal enabledelayedexpansion

set "str=!str:"=""!"

mshta vbscript:clipboarddata.setdata("text","!str!"^)(close^)

endlocal

mshta vbscript:execute("document.write:With CreateObject(""Wscript.shell""):.AppActivate(""%title%""):.sendkeys(""^v~""):end with:self.close"^)

ping -n %time2% 127.1 >nul

)))<list.txt

exit

说明:

第二行cnt的值100:AA.exe要循环运行的次数。

第三行num的值3:AA.exe运行后会的输入次数。

第四行title的值"窗口标题":输入提示窗口的标题内容。这个是关键!如果提示窗口每次都不一样的话,这个批处理还需要修改一下。

第五行time1的值2:AA.exe启动完成所需的秒数。

第六行time2的值3:输入提示窗口相隔的秒数,最小为3。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-12
start "" "D:\Program Files\Tencent\QQ.exe"
start D:\CrossFire\CrossFire.exe

路径中有空格的按第一排写,加上引号(注意除了路径要引起来外,前面还有一对引号);
路径没有空格的按第二排写;
每个需要启动的程序写一行,就可以同时启动多个程序。
第2个回答  推荐于2016-01-18
打开记事本,然后按照下边的格式写好保存成test.bat文件就可以了,双击运行就可以了
------------------------------------------------------------------------------
@echo off
c:\a.exe
c:\test\b.exe
d:\c.exe
d:\program files\test\d.exe
------------------------------------------------------------------------------本回答被提问者和网友采纳
第3个回答  2012-05-17
如果exe都在同一个文件夹
for /f "toknes=*" %%i in ('dir/b *.exe') do start "" "%%i"

如果是同一个exe用不同的文件做输入
for /f "tokens=*" %%i in ('dir/b *.txt') do start notepad "%%i"