O PowerShell não espera que os aplicativos GUI sejam concluídos antes de prosseguir para o próximo comando.
Você pode usar o truque da tubulação para resolver isso, conforme visto em Como dizer ao PowerShell para aguardar que cada comando termine antes de iniciar o próximo
.\WinSCP.exe ... | Out-Null
Embora seja mais fácil usar interface de script WinSCP, winscp.com
. Isso é um equivalente de console de winscp.exe
Apesar de interessante, sua sintaxe de linha de comando não produz winscp.log
arquivo de log para mim em nenhum caso. O PowerShell parece corromper a linha de comando, quando -
é usado para comutadores. Com /
, funciona:
.\WinSCP.com /log=.\winscp.log /command "open davs://username:[email protected]/" "synchronize remote .\test-files /path/to/webdav/test-files" "exit"