sftp durch winscp.com in autoit ersetzen

  • Hallo community

    Ich bin derzeit daran ein best. autoit Program anzupassen, dabei muss ich den sftp.exe Aufruf durch WinScp.com ersetzen.

    mittels WinScp.com kann ich folgendes erfolgreich umsetzen

    C:\Program Files (x86)\path\winscp\winscp.com /privatekey="C:\Program Files (x86)\path\winscp\ftp_ppk.ppk" user@host:/data_in /script="c:\Program Files (x86)\path\winscp\scp_script.txt"

    wenn ich diesen Code aber versuche in Autoit zu integrieren, kriege ich nichts gebacken.

    Run('"C:\Program Files (x86)\path\winscp\winscp.com"/privatkey="C:\Program Files (x86)\path\winscp\ftp_ppk_mm.ppk" "user@host:/data_in" /script="c:\Program Files (x86)\path\winscp\scp_script.txt"'


    Hat jemand Rat was ich falsch mache?

    Gruss thork

    Einmal editiert, zuletzt von Thorkfumble (7. Mai 2018 um 16:49)

  • Ich mache es gerne so:

    AutoIt
    Local $sCMD = StringFormat('"%s" /privatkey="%s" user@host:/data_in /script="%s"', 'C:\Program Files (x86)\path\winscp\winscp.com', 'C:\Program Files (x86)\path\winscp\ftp_ppk_mm.ppk', 'c:\Program Files (x86)\path\winscp\scp_script.txt')
    ConsoleWrite('$sCMD = ' & $sCMD & @CRLF)
    Run($sCMD, '', @SW_HIDE) ; @SW_SHOW

    oder so, wenn es viele Parameter sind:

    AutoIt
    Local $sCMD, $sWINSCP = 'C:\Program Files (x86)\path\winscp\winscp.com', $sPPK = 'C:\Program Files (x86)\path\winscp\ftp_ppk_mm.ppk', $sSCRIPT = 'c:\Program Files (x86)\path\winscp\scp_script.txt'
    $sCMD = StringFormat('"%s" /privatkey="%s" user@host:/data_in /script="%s"', $sWINSCP, $sPPK, $sSCRIPT)
    ConsoleWrite('$sCMD = ' & $sCMD & @CRLF)
    Run($sCMD, '', @SW_HIDE) ; @SW_SHOW