
第一步:准备好用于输入的文件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。
start "" "D:\Program Files\Tencent\QQ.exe"start D:\CrossFire\CrossFire.exe
路径中有空格的按第一排写,加上引号(注意除了路径要引起来外,前面还有一对引号);
路径没有空格的按第二排写;
每个需要启动的程序写一行,就可以同时启动多个程序。
1. 程序后加上“&” ,即 “./myjob &”, 将命令放入到一个作业队列中,可以用命令“jobs” 查看2. 将1中的命令放在 “()”中, 即 “(./myjob &)”,所提交的作业并不在作业列表中,是无法通过jobs来查看的。
3. 使用"nohup", 即 “nohup ./myjob &”,忽略hangup信号,防止shell关闭时程序停掉。
4. 使用"setsid", 即“setsid ./myjob”。
5. 对已经运行的程序可以用 “disown -hmyjob” 来使某个作业忽略HUP信号。
6. 使用“screen". screen 下的 *** 作会在screen下运行,无法在jobs中查看到。常用的命令有:
a) 新建一个screen: screen-S my_screen_name. 建好后就可以进行所需要的 *** 作了。
b) 暂时断开screen: Ctrl-a d
c) 重新打开screen: Ctrl-a screen_id
d) 查看所有screen状态: screen -ls
e) 终止screen: screen -S my_screen_name -Xkill
f) 在当前窗口新建窗口: Ctrl-a c
g) 退出当前窗口: exit
h) 显示所有窗口列表:Ctrl-a w
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)