Reemplace FTP con SFTP para transferir archivos - SÓLO PSFTP.EXE

Reemplace FTP con SFTP para transferir archivos - SÓLO PSFTP.EXE

Actualmente estoy FTP'ingarchivando en una caja Unix desde un windowsservidor. Quiero cambiar la siguiente sección del script y migrar el proceso ftp a sftp.

@echo off
echo user %user%> ftpcmd.dat
echo %password%>> ftpcmd.dat
echo bin>> ftpcmd.dat
echo put %filetobeuploaded% %filepath%%File%>> ftpcmd.dat
echo quit>> ftpcmd.dat
ftp -n -s:ftpcmd.dat %host%
del ftpcmd.dat
:END

Lo he PSFTP.EXEinstalado en mi directorio de Windows. ¿Con eso puedo enviar los archivos con SFTP?

¿Cómo puedo reemplazar la línea ftp -n -s:ftpcmd.dat %host%para que sea SFTP? Entiendo que puedes hacer algo como esto....

CALL PSFTP.EXE [email protected] ....

Si alguien lo conoce, ¿podría ayudarme a completarlo? ¿Qué argumentos daría? Los detalles de usuario, contraseña, directorio remoto y host se guardan en un archivo de propiedades. Estoy buscando usar claves en lugar de contraseña. ¿Puedes pasar el argumento ftpcmd.dat existente a psftp?

Respuesta1

También puedes utilizar WinSCP. Es compatible tanto con SFTP como con secuencias de comandos.

Ver elguía para convertir el script FTP de Windows al script SFTP de WinSCP.

El guión se verá así:

open sftp://%user%:%password%@%host%
put -transfer=binary %filetobeuploaded% %filepath%%File%
exit

Puede ejecutar el script como (si se guarda en script.txt):

winscp.com /script=script.txt

Tenga en cuenta que (a diferencia de ftp.exe), las variables de entorno también se resuelven en el script WinSCP.

Si desea utilizar un archivo de clave privada, utilice:

open sftp://%user%@%host% -privatekey=path\key.ppk

(Soy el autor de WinSCP)

información relacionada