Sous le dossier images\
, j'ai les dossiers suivants:
Usa\
Italy\
Japan\
etc..
Je veux un script qui crée un .zip
pour chacun de ces dossiers, donc j'ai usa.zip
, italy.zip
, japan.zip
.
Comment puis je faire ça?
Je suppose que c'est Windows, car vous utilisez des barres obliques inverses.
Obtenez 7za.exe (la version en ligne de commande de 7-zip ) et placez-le dans votre %PATH%
.
Exécutez ensuite ceci dans votre Images\
répertoire:
for /f "tokens=* usebackq" %G in (`dir /b /a:d "%cd%"`) do 7za a -r -tzip "%~G.zip" "%~G"
Ou dans un script batch:
for /f "tokens=* usebackq" %%G in (`dir /b /a:d "%cd%"`) do 7za a -r -tzip "%%~G.zip" "%%~G"
En supposant que vous êtes sous Linux, vous pouvez utiliser un script Bash comme celui-ci:
Ce script prendra le premier argument comme dossier, dans ce cas des images, et recumérera exactement un niveau pour obtenir tous vos dossiers (États-Unis, Italie et Japon) et les compresser au même endroit.
Il ne supprimera pas les anciens fichiers zip ou les dossiers source. Zip est suffisamment intelligent pour détecter les fichiers zip existants et les mettre à jour lors d'une nouvelle exécution. Cependant, si vous supprimez un fichier dans les dossiers source, il ne sera pas supprimé dans les fichiers zip. Vous pouvez contourner ce problème en supprimant au préalable les fichiers existants.
la source
Vous pouvez utiliser Winrar pour cela.
Sélectionnez tous vos dossiers, faites un clic droit et sélectionnez
Add to archive
. Sélectionnez maintenant l'optionPut each file to separate archive
sous l'ongletFiles
:Cliquez sur OK et vous avez terminé. Si vous voulez des fichiers .zip au lieu de .rar, sélectionnez simplement
ZIP
dans l'General
onglet sousArchive format
.la source
Cette réponse de MvG a fonctionné pour moi sur Ubuntu:
la source