Substitua o FTP pelo SFTP para transferir arquivos - SOMENTE PSFTP.EXE

1

No momento, estou com o arquivo FTP'ing em uma caixa unix de um servidor windows . Eu quero mudar a seguinte seção do script e migrar o processo de ftp para ser 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

Eu tenho PSFTP.EXE instalado no meu diretório do windows. Usando isso posso enviar os arquivos com SFTP?

Como posso substituir a linha ftp -n -s:ftpcmd.dat %host% por SFTP. Eu entendo que você pode fazer algo assim ....

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

Se alguém estiver familiarizado, por favor, você pode me ajudar a completá-lo. Que argumentos eu daria? user, pw, remotedir, detalhes do host são mantidos em um arquivo de propriedades. Eu estou olhando para usar chaves em vez de senha. Você pode passar o argumento ftpcmd.dat existente para o psftp?

    
por M06H 14.08.2014 / 18:16

1 resposta

1

Você também pode usar o WinSCP. Suporta tanto o SFTP quanto o script.

Consulte o guia para converter o script de FTP do Windows para o script SFTP do WinSCP .

O script será parecido com:

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

Você pode executar o script como (se salvo em script.txt ):

winscp.com /script=script.txt

Note que (ao contrário do ftp.exe ), variáveis de ambiente são resolvidas no script WinSCP também.

Se você quiser usar um arquivo de chave privada, use:

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

(eu sou o autor do WinSCP)

    
por 17.08.2014 / 08:46