FTP batch à remplacer par SFTP BATCH
Bonjour tout le monde.
J'espère que je suis dans le bonne section ?
Depuis longtemps, nous utilisons FTP.EXE avec des commande FTP -S via un SHELLWAIT dans nos programmes en VBA Excel et ça fonctionne parfaitement.
Mais on nous demande maintenant de passer par SFTP, là je coince.
Voici la commande ftp utilisée :
Code:
1 2
|
ftp -s:fichier_test.txt |
Et le fichier_test.txt :
Code:
1 2 3 4 5 6 7
|
open ftp.xxx.fr
azerty
1234567
lcd .
get fichier_a_recup.txt
bye |
Avec SFTP, il faut utiliser une clé publique, ce que j'arrive à faire avec WinSCP, mais pas avec SFTP.EXE
J'ai essayé ça qui ne fonctionne pas :
Code:
1 2
|
sftp -b ftp_03.txt azerty@secure-ftp.xxx.fr |
Je vous met le code WinSCP, si jamais ça peut vous aider à m'aider :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
@echo off
"C:\Program Files (x86)\WinSCP\WinSCP.com" ^
/log=".\WinSCP.log" /ini=nul ^
/command ^
"open sftp://azerty:1234567@SECURE-FTP.XXX.FR/ -hostkey=""ssh-ed25519 255 xxxxxxxxxxxxxx..."" -rawsettings ProxyPort=0" ^
"cd REP" ^
"dir" ^
"lcd .\test" ^
"get fichier_a_recup.txt" ^
"lls" ^
"exit"
set WINSCP_RESULT=%ERRORLEVEL%
if %WINSCP_RESULT% equ 0 (
echo Success
) else (
echo Error
)
exit /b %WINSCP_RESULT% |
Je pense qu'il faut passer la clé publique quelque part dans la commande SFTP, mais je ne trouve pas comment faire ?
Merci d'avance pour votre aide.