如何通过配置文件来定时运行?
本帖最后由 dj82 于 2010-7-4 16:51 编辑config.ini
[时间]
时间=
#按分钟计算
[配置1]
路径=F:\test1
[配置2]
路径=F:\test2
AUTOIT 代码:
While 1
For $x = 1 To 10
$ini = "配置" & $x
$clrdir = IniRead(@ScriptDir & "\config.ini", $ini, "路径", "")
DirRemove($clrdir, 1)
EndIf
Next
WEnd
用什么方式让程序按定时进行循环运行?也不占太多的系统资源 最简单的 sleep #Include <date.au3>
If FileExists("timecfg.ini") Then
$var = IniReadSection("timecfg.ini", "time")
If @error Then
MsgBox(4096, "", "发生错误配置文件无法读写.")
exit
Else
$t = 0
While 1
For $i = 1 To $var
if StringLeft($var[$i], 5) = StringLeft(_NowTime(), 5) then
$t = $var[$i]
MsgBox(0, "", $var[$i] & @CRLF & $var[$i])
else
sleep(500)
endif
Next
if $t <> 0 then
Do
sleep(1000)
Until StringLeft($t, 5) <> StringLeft(_NowTime(), 5)
$t = 0
endif
WEnd
EndIf
Else
IniWrite("timecfg.ini", "time", "时间1", "01:00:00")
IniWrite("timecfg.ini", "time", "时间2", "02:00:00")
IniWrite("timecfg.ini", "time", "时间3", "03:00:00")
IniWrite("timecfg.ini", "time", "时间4", "04:00:00")
ShellExecute ("timecfg.ini")
EndIf 感谢楼上的朋友,不过您好像是按小时计算,程式也比较复杂
我是想按分钟计算,简单点好! 3#只是给出了一个定时运行的例子,仅用于LZ参考。
另外LZ的问题描述太过简单。你想达到一个什么目的并没有说清楚,比如
定时运行?
----什么时间?只有一个固定时间还是有多个时间,还是某个时间段;
----按分钟计算?1000分钟?几点几分?
时间到运行什么?
----删除所有指定的文件夹?如果仅此而还是首先想想如何写更方便操作的配置文件。
总之问题描述得越清晰,解答也就更快更贴切。 本帖最后由 dj82 于 2010-7-5 13:17 编辑
谢谢,版主指导..
简单点说,就是每隔几分钟运行一次程序!
If Not RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "清理") Then
RegWrite("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "清理", "REG_SZ", @AutoItExe)
While 1
For $x = 1 To 99
$ini = "配置" & $x
$time = IniRead("ichina8.ini", $ini, "时间", "")
Sleep($time)
$clrdir = IniRead("ichina8.ini", $ini, "路径", "")
DirRemove($clrdir, 1)
Next
WEnd
EndIf
If Not RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "清理") Then
RegWrite("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "清理", "REG_SZ", @AutoItExe)
Else
While 1
For $x = 1 To 99
$ini = "配置" & $x
$time = IniRead("ichina8.ini", $ini, "时间", "")
Sleep($time)
$clrdir = IniRead("ichina8.ini", $ini, "路径", "")
DirRemove($clrdir, 1)
Next
WEnd
EndIf
自己想通了,就是这样子!加一个开机启动.很简单..不过,有没有方法,把语句精简一下? 这个可以吗?#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <file.au3>
$time=IniRead("config.ini","time","time","error")
$path1=IniRead("config.ini","setup1","path","error")
$path2=IniRead("config.ini","setup2","path","error")
$time=$time*1000*60
AdlibRegister("time",$time)
$Form1 = GUICreate("请耐心等待"&$time&"毫秒", 639, 460, -1, -1)
GUISetState()
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func time()
MsgBox(0,"警告","定时启动程序已经启动"&@CRLF&$path1&@CRLF&$path2)
EndFunc
页:
[1]