我正在尝试从我的访问代码执行批处理文件。我使用以下代码:
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 文件。我为 ftp.exe 而不是 ftps.exe 使用了完全相同的代码,并且它没有问题地工作。批处理文件已正确创建,当我手动执行它时它工作正常。
我不明白 MOVEit Freely (ftps.exe) 的文档中发生了什么变化,他们说您只需将 ftp 更改为 ftps,所有其他方面都相同。