![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-04 09:04 |
共 48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 怎样.定时做按键操作.并记录日志 |
| 可打印版本 1,244 / 3 |
| 第1楼 lspzj | 发表于 2007-04-27 09:17 |
| 初级用户 发帖 10 积分 24 | |
|
怎样.定时做按键操作.并记录日志 想做个批处理或者是脚本VBS 最好是VBS
条件 有一个软件一直开着的,每天要点击上传数据.而且隔几天要重新启动一下软件本身以求稳定 每天17:00定时按下特定的快捷键例如(ctrl+t)做上传数据动作 并在日志文件当中生成记录.每天追加记录 并且这个软件安每3天重新启动一下公司的数据软件 并在日志文件当中生成记录.每天追加记录 我写了一个这样的脚本.但是要按键.vbs-重新启动软件.vbs2个才能一起实现. 并且不会用VBS添加文本日志 所以用BAT变相了一下. 怎么才能用一个VBS实现上面的所有的功能啊. 按键.vbs文件内容 set WshShell = WScript.CreateObject("WScript.Shell") for i = 1 to 999 '运行999次 WScript.Sleep(1000*60*60*24) '每24小时运行一次 WshShell.SendKeys "1" 按下键盘1这里指打开菜单的快捷键 WScript.Sleep 10000 WshShell.SendKeys "8" 按下键盘8这里指按下上传数据按钮或者是回车 WshShell.Run "日志生成.bat" next 日志生成.bat文件内容 echo ------------------>>上传日志.txt date /t >>上传日志.txt time /t >>上传日志.txt echo 数据资料上传成功>>上传日志.txt echo ------------------>>上传日志.txt echo.>>上传日志.txt 重新启动软件.vbs文件内容 set WshShell = WScript.CreateObject("WScript.Shell") for i = 1 to 999 '运行999次 WScript.Sleep(1000*60*60*24*3) '每3天运行一次 WshShell.Run "taskill *.*" 结束软件(或者用ALT+F4.或者是快捷键) WScript.Sleep 15000 WshShell.Run "*.*" 启动软件 WshShell.Run "软件重启.bat" next 软件重启.bat的内容 echo ------------------>>上传日志.txt date /t >>上传日志.txt time /t >>上传日志.txt echo 软件重启成功>>上传日志.txt echo ------------------>>上传日志.txt echo.>>上传日志.txt [ Last edited by lspzj on 2007-4-26 at 10:16 PM ] |
|
| 第2楼 zhoushijay | 发表于 2007-04-28 00:49 |
| 高级用户 发帖 375 积分 845 | |
|
for i = 1 to 999 '运行999次
next 你用这个方法做到常驻内存吗?这个方法我也试过,会消耗大量资源的 |
|
| 第3楼 lspzj | 发表于 2007-04-28 03:15 |
| 初级用户 发帖 10 积分 24 | |
Originally posted by zhoushijay at 2007-4-27 12:49 PM: 我是一窍不通..第一次用VBS.看了很多实例.自己东拼西凑的. 还是高手出来帮帮忙把. |
|
| 第4楼 flyinspace | 发表于 2007-04-28 03:38 |
| 银牌会员 发帖 517 积分 1,206 | |
|
看你的操作系统应该是xp吧。。
那么试着给出xp下的代码。 并没有经过测试。。。请测试后把结果给我。 @echo off set "count=3" echo set Wsh=CreateObject("wscript.Shell")>press.vbs echo wscript.sleep 10000>>press.vbs echo Wsh.SendKeys "1">>press.vbs echo wscript.sleep 10000>>press.vbs echo Wsh.SendKeys "8">>press.vbs echo wscript.sleep 60000>delay.vbs :StartScript set "hour=%time:~0,2%" if "%hour%"=="17" ( set /a count-=1 cscript /nologo press.vbs if %count% LSS 1 goto :restart ) cscript /nologo delay.vbs goto :StartScript :restart echo set Wsh=createobject("wscript.shell")>restart.vbs echo wscript.10000>>restart.vbs echo Wsh.run "本批处理的名称" start cscript /nologo restart.vbs exit |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |