Comment décompresser un fichier sur un ordinateur local qui vient d’être téléversé ou téléchargé ?
Si vous devez extraire une archive sur l’ordinateur local après un transfert de fichier réussi, vous devez utiliser un déclencheur post-transfert.
Un déclencheur post-transfert est exécuté après un transfert de fichier réussi entre le serveur distant et l’ordinateur local et permet de lancer n’importe quel programme, script PowerShell ou fichier bat. Comme paramètres, vous pouvez utiliser des variables intégrées de FTPGetter, telles que la variable %local_file%, qui représente le chemin complet du fichier transféré sur l’ordinateur local, des variables liées aux dates, et d’autres encore.
Exemple #1 : Extraire l’archive transférée sur l’ordinateur local.
Pour effectuer cette opération, créez un fichier bat avec le contenu suivant dans n’importe quel éditeur de texte.
Pour Windows 10/11 :
SET "fullpath=%~dp2"
if not exist "%fullpath%" mkdir "%fullpath%"
tar -xf %~1 -C %~2Pour les autres versions de Windows :
SET "fullpath=%~dp2"
if not exist "%fullpath%" mkdir "%fullpath%"
powershell -Command "Expand-Archive -Path '%~1' -DestinationPath '%~2'"Enregistrez ce fichier sous le nom my-unzip.bat dans le dossier de votre choix.
Remarque importante ! Si vous utilisez FTPGetter en mode service Windows, assurez-vous que le compte sous lequel le service est exécuté dispose d’un accès complet à ce dossier.
Dans FTPGetter, ce fichier bat doit être appelé comme suit :
D:\my-bats\my-unzip.bat
"%local_file%" "" 
Fonctionnement. Après un transfert de fichier réussi, FTPGetter exécute le fichier bat my-move.bat avec deux paramètres. Le premier paramètre est la variable %local_file%, qui contient le chemin complet du fichier récemment transféré (sur l’ordinateur local). Le second paramètre est le chemin complet vers le dossier sur l’ordinateur local où l’archive doit être extraite.
Ensuite, nous verrons comment copier, déplacer ou renommer un fichier récemment téléchargé.
Vous devez décompresser une archive sur le serveur SFTP après le transfert ?


