Bonjour à tous,

J'ai un script que j'exécute via WinSCP qui fonctionne sans problème, cependant, je souhaite à la fin d’exécution de ce script déplacé un fichier local dans un sous dossier local. WinSCP ne gère pas le déplacement de fichier en local. Mon scirpt a pour but d'envoyer un txt sur un répertoire local (Windows 2012 server) sur un sftp (debian 11), puis de déplacer ce txt dans un sous dossier local.

Si je saisi dans mon bat le nom du fichier complet (par exemple FILETEST1234.txt), pas de souci, mais je ne sais pas comment faire pour dire de déplacer tous les fichiers qui commence par (dans l'exemple cité avant) FILETEST et qui ont pour extension .txt

Sauriez vous m'aider?

Voici mon script (FTP_EDI_TEST.txt)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
option batch on
option confirm off
open sftp://debian:PASSWORD@172.9.65.151/ -hostkey="ssh-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
lcd "E:\EDI\TRANSP2" 
cd /home/debian/CRM/TEST/
put TESTEDI*.TXT
exit
Et mon bat
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
"C:\Program Files (x86)\WinSCP\winscp.com" /ini=nul /log="E:\FTP\logs\batch.log" /script="E:\FTP\FTP_EDI_TEST.txt"
if %ERRORLEVEL% equ 0 (
    move "E:\EDI\TRANSP2\TESTEDI1234.TXT" "E:\EDI\TRANSP2\ARCHIVE\TESTEDI1234.TXT"
)
Si je replace TESTEDI1234.TXT par TESTEDI*.TXT le déplacement ne s’exécute pas, et cmd me retourne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
C:\Users\user1>if 0 EQU 0 (move ""E:\EDI\TRANSP2\TESTEDI*.TXT" "E:\EDI\TRANSP2\ARCHIVE\TESTEDI*.TXT"
La syntaxe du nom de fichier, de répertoire ou de volume est incorrecte.
Avez vous un idée sur comment on précise une variable dans le nom d'un fichier en dos?

Merci d'avance pour votre aide.