我在用WinSCP創建一個使用AutoIt的FTP傳輸腳本如何將AutoIt腳本中的用戶輸入傳遞給WinSCP?
我正在使用winscp.com。
我想從用戶(通過GUI)接受輸入,然後在我的WinSCP命令中使用這些輸入。
例如,我想根據用戶的選擇設置本地目錄。
當前情況:我可以存儲用戶的輸入,但是當我嘗試在使用AutoIt腳本的WinSCP命令控制檯中傳遞相同的輸入時,它不會讀取變量或者只是給出和未知的命令錯誤。
RunWait(@ComSpec & ' /k ' & 'winscp.com /command "option batch continue" ' & '"option confirm off" ' & ' "open xyz"' & ' "lcd" ' & $Dir)
凡$Dir
具有用於使用GUICtrlRead()
存儲的用戶輸入的值。
請建議是否有任何其他方式讓WinSCP控制檯讀取我的用戶數據(我希望每次都由用戶捕獲唯一數據,因此不想創建配置文件)。
感謝
我把$ Dir從「lcd」引用到引號之外,因爲我需要用戶輸入存儲在變量中。而在Auto的情況下,如果我根據您的建議將它放在引號中,變量將被讀爲字符串而不是被讀爲可變字符 另外,因爲我需要使用多個變量,所以我打破了字符串未來的編碼。 (一旦我找到了這個問題的解決方案:D – 2014-10-03 14:06:26
您是否嘗試過我的建議?雙引號與AutoIt無關,它們是WinSCP所需要的.WinSCP不會理解''lcd'/ path/to/dir',它需要''lcd/path/to/dir「'。單引號是AutoIt的語法,而'$ Dir'在我的例子中不在單引號之內 – 2014-10-03 14:31:25
是的,我做了,謝謝!我的問題的一半。我現在可以使用變量'$ Dir',但是我必須像'$ Dir =「C:\」'手動定義它,然後命令成功運行。 但是,如果我將用戶輸入傳遞給我的變量,我得到一個錯誤** **太多的參數爲LCD **。 這就是我使用用於捕捉和傳遞用戶輸入 '$ locald = GuiCtrlCreateInput( 「本地目錄」,-1,10,130,20) \t GUICtrlSetPos($風向,145,40) $迪爾= GUICtrlRead($ locald)' 請指教,因爲我相信即時通過參數錯誤 – 2014-10-03 17:44:33