标题: 怎样.定时做按键操作.并记录日志
[打印本页]
作者: lspzj
时间: 2007-4-27 09:17
标题: 怎样.定时做按键操作.并记录日志
想做个批处理或者是脚本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 ]
作者: zhoushijay
时间: 2007-4-28 00:49
for i = 1 to 999 '运行999次
next
你用这个方法做到常驻内存吗?这个方法我也试过,会消耗大量资源的
作者: lspzj
时间: 2007-4-28 03:15
Quote: |
Originally posted by zhoushijay at 2007-4-27 12:49 PM:
for i = 1 to 999 '运行999次
next
你用这个方法做到常驻内存吗?这个方法我也试过,会消耗大量资源的 |
|
我是一窍不通..第一次用VBS.看了很多实例.自己东拼西凑的.
还是高手出来帮帮忙把.
作者: flyinspace
时间: 2007-4-28 03:38
看你的操作系统应该是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