[已解决]读取SOFT.INI文件问题
本帖最后由 abcd1258 于 2015-9-15 22:01 编辑#Region ;**** 参数创建于 ACNWrapper_GUI ****
#PRE_Icon=ICO\ICO.ICO
#PRE_Outfile=soft.exe
#PRE_Res_requestedExecutionLevel=None
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
$run = IniReadSection(@ScriptDir & "\SOfT.ini","1234")
If @error Then
MsgBox(4096, "", "错误, 读取INI文件失败.")
Else
For $i = 1 To $run
Run($run[$i])
Sleep($run[$i])
Next
EndIf
SOFT.INI文件是
Soft1=C:\1.EXE
Soft2=C:\2.EXE
Soft3=C:\3.EXE
请教一下大家一个问题,要怎么才能先运行1.exe完成后再运行2.exe文件呢?
要从先后顺序
在此先谢谢大家。 可使用此命令
BitAND ( 數值1, 數值2 [, 數值 n] ) 給份代碼給你研究#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <WinAPI.au3>
$Form1 = Guicreate("Client PC 自動化安裝程式", 340, 120, -1, -1)
$Button1 = GuiCtrlCreateButton("全選", 10, 95, 60, 20)
$Button2 = GuiCtrlCreateButton("取消全選", 130, 95, 60, 20)
$Button3 = GuiCtrlCreateButton("執行", 250, 95, 60, 20)
$Checkbox1 = GUICtrlCreateCheckbox("Office2003", 10, 10, 120, 20)
$Checkbox2 = GUICtrlCreateCheckbox("還原軟件", 10, 40, 120, 20)
$Checkbox3 = GUICtrlCreateCheckbox("AdbeRdr810", 10, 70, 120, 20)
$Checkbox4 = GUICtrlCreateCheckbox("Java", 130, 10, 120, 20)
$Checkbox5 = GUICtrlCreateCheckbox("7-Zip", 130, 40, 120, 20)
$Checkbox6 = GUICtrlCreateCheckbox("ERP", 130, 70, 120, 20)
$Checkbox7 = GUICtrlCreateCheckbox("VNC監視器", 250, 10, 120, 20)
$Checkbox8 = GUICtrlCreateCheckbox("Xn View", 250, 40, 120, 20)
$Checkbox9 = GUICtrlCreateCheckbox("IE7", 250, 70, 120, 20)
GuiSetState(@SW_SHOW)
HotKeySet("{ESC}", "_Exit") ;按Esc結束程式
Func _Exit()
Exit 0
EndFunc
While 1
$Msg = GUIGetMsg()
Switch $Msg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1 ;設定Checkbox 1~11 全選
GUICtrlSetState($Checkbox1,$GUI_CHECKED)
GUICtrlSetState($Checkbox2,$GUI_CHECKED)
GUICtrlSetState($Checkbox3,$GUI_CHECKED)
GUICtrlSetState($Checkbox4,$GUI_CHECKED)
GUICtrlSetState($Checkbox5,$GUI_CHECKED)
GUICtrlSetState($Checkbox6,$GUI_CHECKED)
GUICtrlSetState($Checkbox7,$GUI_CHECKED)
GUICtrlSetState($Checkbox8,$GUI_CHECKED)
GUICtrlSetState($Checkbox9,$GUI_CHECKED)
Case $Button2 ;設定Checkbox 1~11 取消全選
GUICtrlSetState($Checkbox1,$GUI_UNCHECKED)
GUICtrlSetState($Checkbox2,$GUI_UNCHECKED)
GUICtrlSetState($Checkbox3,$GUI_UNCHECKED)
GUICtrlSetState($Checkbox4,$GUI_UNCHECKED)
GUICtrlSetState($Checkbox5,$GUI_UNCHECKED)
GUICtrlSetState($Checkbox6,$GUI_UNCHECKED)
GUICtrlSetState($Checkbox7,$GUI_UNCHECKED)
GUICtrlSetState($Checkbox8,$GUI_UNCHECKED)
GUICtrlSetState($Checkbox9,$GUI_UNCHECKED)
Case $Button3
If BitAND(GUICtrlRead($Checkbox1),$gui_checked) Then
RunWait("各軟體Auto\5.安裝Office2003.exe",@ScriptDir)
EndIf
If BitAND(GUICtrlRead($Checkbox2),$gui_checked) Then
RunWait("各軟體Auto\2.安裝還原軟件.exe",@ScriptDir)
EndIf
If BitAND(GUICtrlRead($Checkbox3),$gui_checked) Then
RunWait("各軟體Auto\3.安裝AdbeRdr810.exe",@ScriptDir)
EndIf
If BitAND(GUICtrlRead($Checkbox4),$gui_checked) Then
RunWait("各軟體Auto\4.安裝Java.exe",@ScriptDir)
EndIf
If BitAND(GUICtrlRead($Checkbox5),$gui_checked) Then
RunWait("各軟體Auto\1.安裝7-Zip.exe",@ScriptDir)
EndIf
If BitAND(GUICtrlRead($Checkbox6),$gui_checked) Then
RunWait("各軟體Auto\6.安裝ERP.exe",@ScriptDir)
EndIf
If BitAND(GUICtrlRead($Checkbox7),$gui_checked) Then
RunWait("各軟體Auto\7.安裝VNC監視器.exe",@ScriptDir)
EndIf
If BitAND(GUICtrlRead($Checkbox8),$gui_checked) Then
RunWait("各軟體Auto\8.安裝Xn View.exe",@ScriptDir)
EndIf
If BitAND(GUICtrlRead($Checkbox9),$gui_checked) Then
RunWait("各軟體Auto\9.安裝IE7.exe",@ScriptDir)
EndIf
MsgBox(0,"Auto Install Script","Auto Client Install 自動安裝、設定完畢" &@LF& " 請立即重新開機完成安裝程序")
EndSwitch
Wend If @error Then
MsgBox(4096, "", "错误, 读取INI文件失败.")
Else
For $i = 1 To $run
RunWait(@ScriptDir & "\" & IniRead(@ScriptDir & "\soft.ini","1234", $run[$i]))
Next
EndIf小改一下,仅供参考 回复 4# 邪恶海盗 谢谢大家的回答,还是不能实现。 本帖最后由 邪恶海盗 于 2015-9-13 11:31 编辑
回复 6# abcd1258
If @error Then
MsgBox(4096, "", "错误, 读取INI文件失败.")
Else
For $i = 1 To $run
msgbox(0,$run[$i],@ScriptDir & "\" & IniRead(@ScriptDir & "\soft.ini","1234", $run[$i]),5)
Next
EndIf
改成这样就可以测试了... 回复abcd1258
改成这样就可以测试了...
邪恶海盗 发表于 2015-9-13 11:29 http://www.autoitx.com/images/common/back.gif
谢谢你热情的解答,不过还是不行。 回复 8# abcd1258
怎么个不行法? 坐等答案~我也需要 为什么不把报错贴上来 回复 9# 邪恶海盗 回复 12# abcd1258
$run=IniReadSectionNames(@scriptdir & "\soft.ini")
我日,复制的时候把最关键的一句漏了,再试试看 $run = IniReadSection(@ScriptDir & "\SOfT.ini", "1234")
If @error Then
MsgBox(4096, "", "错误, 读取INI文件失败.")
Else
For $i = 1 To $run
RunWait('"' & $run[$i] & '"')
Next
EndIf 回复 14# afan
按照此方法,问题解决了,谢谢
页:
[1]
2