0
我想從我的訪問代碼執行批處理文件。我使用以下代碼:從訪問批處理執行
Open vPath & "\FtpComm.txt" For Output As fNum
Connexion (fNum) 'function printing connexion info
Print #fNum, "put " & vFile & " Temp.mdb" 'vFile = filename + full path
Deconnexion (fNum) 'function printing deconnexion info
Close fNum
Open vPath & "\doFtp.bat" For Output As batFileHandle 'vPath = full path
Print #batFileHandle, "ftps -a -s:" & vPath & "\FtpComm.txt >" & vPath & "\output.txt"
Close batFileHandle
RetVal = ExecCmd(vPath & "\doFtp.bat")
Public Function ExecCmd(cmdstr As String) As Long
Dim wsh As Object
Set wsh = CreateObject("Wscript.Shell")
ExecCmd = wsh.Run(cmdstr, 0, True)
End Function
批處理文件未執行,但創建了一個空的output.txt文件。 我使用了完全相同的代碼,而不是ftps.exe,它的工作沒有問題。 批處理文件是正確創建,當我手動執行它工作正常。 我不明白MOVEit Free(ftps.exe)的文檔中發生了什麼變化,他們說你只需要將ftp改成ftps,其他方面都是一樣的。
任何人都可以幫助我嗎?這非常緊急!
FTPS.EXE在你的PATH中? FTP.EXE是一個標準的可執行文件,因此應該可以工作,但是FTPS.EXE需要位於PATH目錄或者INVOKING進程的當前目錄中。 – Magoo
是的,我把它放在PATH中,它工作。如果我在cmd中執行ftps,它會開始正確運行 – user2173690
好 - 我剛剛輸入了一個答案 - 如果你願意接受它,我們都完成了! – Magoo