中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 怎样.定时做按键操作.并记录日志
作者:
标题: 怎样.定时做按键操作.并记录日志 上一主题 | 下一主题
lspzj
初级用户





积分 24
发帖 10
注册 2006-11-8
状态 离线
『楼 主』:  怎样.定时做按键操作.并记录日志

想做个批处理或者是脚本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 ]

2007-4-27 09:17
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zhoushijay
高级用户

Autowalk


积分 845
发帖 375
注册 2007-3-3
状态 离线
『第 2 楼』:  

for i =  1 to  999 '运行999次
   
next
你用这个方法做到常驻内存吗?这个方法我也试过,会消耗大量资源的

2007-4-28 00:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lspzj
初级用户





积分 24
发帖 10
注册 2006-11-8
状态 离线
『第 3 楼』:  



  Quote:
Originally posted by zhoushijay at 2007-4-27 12:49 PM:
for i =  1 to  999 '运行999次
   
next
你用这个方法做到常驻内存吗?这个方法我也试过,会消耗大量资源的

我是一窍不通..第一次用VBS.看了很多实例.自己东拼西凑的.

还是高手出来帮帮忙把.

2007-4-28 03:15
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
flyinspace
银牌会员





积分 1206
发帖 517
注册 2007-3-25
状态 离线
『第 4 楼』:  

看你的操作系统应该是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



知,不觉多。不知,乃求知
2007-4-28 03:38
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: