Si je comprends bien, vous souhaitez prendre un dossier spécifique créé dans un format YYYYMMDD et zippez son contenu. Le fichier zip généré doit également être placé dans ce dossier.
À un niveau très basique, vous pouvez accomplir cela avec une commande comme celle-ci
"c:\Program Files\7-Zip\7z.exe" a x:\Logs\HS\20121010\20121010.zip X:\Logs\HS\20121010\*
NOTE: 7-zip doit être installé pour utiliser la commande ci-dessus
Avec la commande ci-dessus, vous devriez remplir manuellement le YYYYMMDD à chaque fois que vous souhaitez zippé un nouveau dossier avec une nouvelle date.
Cela peut être poussé un peu plus loin et vous pouvez modifier la commande pour utiliser le YYYYMMDD actuel pour la date d'aujourd'hui. La clé de cela est d'utiliser la variable %date% en DOS. Vous pouvez lire plus d'informations sur cette variable en tapant set /?
. Pour formater la date en YYYYMMDD, nous devrons prendre une sous-chaîne de la variable %date%
comme ceci:
echo %date:~10,4%%date:~4,2%%date:~7,2%
La commande ci-dessus devrait afficher la date en YYYYMMDD.
Enfin, nous pouvons combiner ces deux commandes pour générer une commande d'une seule ligne qui zippé tous les fichiers dans le répertoire avec la date d'aujourd'hui (au format YYYMMDD).
"c:\Program Files\7-Zip\7z.exe" a x:\Logs\HS\%date:~10,4%%date:~4,2%%date:~7,2%\%date:~10,4%%date:~4,2%%date:~7,2%.zip X:\Logs\HS\%date:~10,4%%date:~4,2%%date:~7,2%\*
Une étape supplémentaire peut être prise pour automatiser cela en ajoutant la commande ci-dessus en tant que tâche planifiée dans Windows.