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)
Et mon bat
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
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
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" )
Avez vous un idée sur comment on précise une variable dans le nom d'un fichier en dos?
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.
Merci d'avance pour votre aide.
Partager