WinSCP script not executing in batch file

前端 未结 2 1285
野趣味
野趣味 2021-01-14 06:24

I have a script that is executing perfectly on command prompt. If I copy and paste the script directly to the command window then it is working fine, but when save it like

2条回答
  •  礼貌的吻别
    2021-01-14 07:19

    Your are combining WinSCP commands and Windows commands into one file. That cannot work. The batch file stops on a call to the winscp.com and waits for it to finish. WinSCP on the contrary does not know that the batch file even exist, so it cannot read its commands from there.

    See WinSCP FAQ Why are some WinSCP scripting commands specified in a batch file not executed/failing?

    This works:

    cd \program files\winscp\ 
    
    winscp.com /command ^
        "open sftp://HennTest:Nate82@data.test.com -privatekey=C:\HennTest\VCS\HennTest_key_putty.ppk" ^
        "get /*.csv C:\HennTest\VCS\" ^
        "close" ^
        "exit"
    

    It makes use of the WinSCP command-line switch /command that you can use to specify WinSCP commands on its command-line.


    Note that I've corrected few other mistakes:

    • The option batch abort is WinSCP command, not Windows command, so you cannot execute it before WinSCP. Anyway, the latest versions of WinSCP default to the batch abort, when running commands specified in script or command-line. So you do not need the command at all.
    • The command-line switch /privatekey should not be combined with scripting. Use the -privatekey switch of the open command.
    • The option confirm off is also default in the recent version of WinSCP.
    • While WinSCP defaults to the SFTP protocol, it's advisable to explicitly mention the sftp:// prefix in the session URL anyway.

提交回复
热议问题