アクセス コードからバッチ ファイルを実行しようとしています。次のコードを使用します。
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 の代わりに ftp.exe にまったく同じコードを使用したところ、問題なく動作しました。バッチファイルは正しく作成され、手動で実行すると正常に動作します。
MOVEit Freely (ftps.exe) のドキュメントでは、ftp を ftps に変更するだけでよいと書かれているため、何が変更されたのかわかりません。他のすべての側面は同じです。