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 dos : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
ftp -s:fichier_test.txt

Et le fichier_test.txt :
Code dos : Sélectionner tout - Visualiser dans une fenêtre à part
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 dos : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.