0

我已经检查了很多不同的地方来解决这个问题,它看起来很基本,但是当我尝试它时,它不喜欢我。

我是一个编写 vbscript,它执行 psftp.exe,登录到远程 SFTP 站点,并获取属性文件中引用的文件。

目标是将输出重定向到本地日志文件。这是vbs:

Public Sub execute(sftp)

    if sftp.privateKey <> "" Then

        cmd =   ".\psftp.exe "  _
            & " -l " & sftp.user _
            & " -P " & sftp.port _
            & " -i " & sftp.privateKey _
            & " " & sftp.name _
            & " -bc " & propFileName _
            & " -v -bc >> D:\SFTP_Jobs\logFile.txt"

        msgBox "Executing: " & ".\psftp.exe "  _
            & " -l " & sftp.user _
            & " -P " & sftp.port _
            & " -i " & sftp.privateKey _
            & " " & sftp.name _
            & " -bc " & propFileName _
            & " -v -bc >> D:\SFTP_Jobs\logFile.txt"


    Else

        cmd =   ".\psftp.exe "  _
            & sftp.name _
            & " -pw " & pw _
            & " -b " & PropFileName _
            & " -v -bc >> D:\SFTP_Jobs\logFile.txt"

        msgBox "Executing: " & ".\psftp.exe "  _
            & sftp.name _
            & " -pw XXXXXXXX" _
            & " -b " & PropFileName _
            & " -v -bc >> D:\SFTP_Jobs\logFile.txt"
    End If



    Dim TheShell: Set TheShell = WScript.CreateObject("WScript.Shell")
    TheShell.Run(cmd),0 , True
    set TheShell = Nothing


End Sub     'execute

这个 cmd 最终看起来像

psftp.exe theBankIworkFor@ftp.oneOfOurVendors.com -pw thePw -b batchfile.properties -v -bc > D:\SFTP_Jobs\logFile.txt"

这个命令一直工作得很好,直到我在 -v 选项之后添加了所有内容......

如果这有什么非常明显的,我提前道歉

4

0 回答 0