2013-07-08 81 views
1

我正在腳本中讀取文件中的用戶名和密碼以使部署更加痛苦,因爲否則我必須爲每個部署提供用戶名和密碼。我是AutoIT的新手,我只是RTFM,下面是我得到的,因爲我是一個新手,我敢肯定,你可以找到我做錯了什麼,但以下是爲我做的工作以更好的方式比在回答這個問題之前:Scitpting AutoIT從文件中讀取用戶名和密碼

Local $sLauncherPath = "C:\Program Files (x86)\Google\google_appengine\launcher\GoogleAppEngineLauncher.exe" 

Local $iPid = Run($sLauncherPath) 

Local $hWin 
While ProcessExists($iPid) 
    $hWin = WinWait("Deploy Application to Google", "", 1) 
    Local $file = FileOpen("C:\Program Files (x86)\Google\google_appengine\launcher\settings.dat", 0) 

    Local $line = FileReadLine($file, 1) 
    Local $line2 = FileReadLine($file, 2) 

    If $hWin And WinGetProcess($hWin) = $iPid Then 
     ControlSetText($hWin, "", "Edit1", $line) 
     ControlSetText($hWin, "", "Edit2", $line2) 

     ControlClick($hWin, "", "Button2") 

     WinWaitClose($hWin) 
    EndIf 
WEnd 

這似乎爲我工作,你可以把可能的改進建議,因爲這僅僅是我的第二個項目的AutoIt?

+0

退房http://codereview.stackexchange.com/ – banging

回答

2

不是一個真正的問題,但在這裏就是答案您正在尋找:

  • 文件打開和閱讀並不一定是內循環,所以應該是外...
  • ...特別是因爲你沒有關閉文件(請參閱FileClose函數)...
  • 在此基礎上,我沒有settings.dat我猜這是你創建的文件。應該有一些錯誤檢查它是否存在。
  • 作爲一般規則,用戶配置文件屬於用戶目錄,而不是Program Files。如果你想將你的程序存儲在程序文件中,那麼可以使用%AppData%或者甚至是註冊表。
  • 對於配置文件,.ini內置了AutoIt支持,並且在您有很多設置時更易於人員進行編輯。
  • 使用FileReadLine並且當您實際按順序讀取它們(它將打開文件,開始並計數換行)時,給出行號非常低效。這段代碼並不是一個真正的問題,但如果沒有最後一個參數,你會更好。

最後卻是AutoIt的拼寫以小寫 'T':P

相關問題