
Estoy intentando automatizar algunas transferencias de archivos mediante secuencias de comandos WinSCP. Esto es lo que tengo.
option echo off
option batch on
option confirm off
open abcde:[email protected]
lcd "t:\"
put -nopermissions -nopreservetime "test.txt" test.txt
exit
De hecho, puedo acceder a la línea de comandos y ejecutar los comandos open
, lcd
y put
sin ningún problema. Cuando uso el script, recibo este error:
Opening session using command-line parameter in scripting is deprecated. Use 'open' command instead.
Searching for host...
Host "=" does not exist.
Superé el obstáculo de la conexión poniendo el comando de conexión en el archivo por lotes extrayendo el script.
Winscp.com abcde:[email protected]
¿Cómo llamo al script para ejecutar el resto de las tareas?
Respuesta1
Necesitas guardar tusecuencia de comandos WinSCPa un archivo (por ejemplo script.txt
).
Y luego haga que WinSCP ejecute el script usando/script=
interruptor de línea de comando, como:
winscp.com /log=winscp.log /script=script.txt
Deberías empezar con unguía para automatizar transferencias de archivos SFTP usando WinSCP.
Respuesta2
Esto funcionó para mí. Guardé el siguiente texto como archivo .bat y lo ejecuté.
echo off
WinScp /ini=nul /command "open [email protected] -
privatekey=D:\PostgresXL.ppk" "move_files_or_do_something" "exit"