Cela est très facile à réaliser car la version de la console Rar.exe
ainsi que la version GUI WinRAR.exe
supportent plusieurs fichiers ou répertoires à spécifier sur la ligne de commande pour ajouter dans le même fichier archive.
@echo off
for /D %%D in ("C:\directory_with_files_you_want_to_compress\*") do "%ProgramFiles(x86)%\WinRAR\Rar.exe" a -cfg- -ep -idq -m0 -x*.rar -v100m "C:\where_you_want_to_save_new_rar_files\%%~nxD.rar" "%%~fD\" "C:\directory_with_readme.txt\readme.txt" && rd /Q /S "%%~fD" || echo/ && pause
Comme ci-dessus plus facile à lire:
@echo off
for /D %%D in ("C:\directory_with_files_you_want_to_compress\*") do (
"%ProgramFiles(x86)%\WinRAR\Rar.exe" a -cfg- -ep -idq -m0 -x*.rar -v100m -y "C:\where_you_want_to_save_new_rar_files\%%~nxD.rar" "%%~fD\" "C:\directory_with_readme.txt\Readme.txt"
if not errorlevel 1 (
rd /Q /S "%%~fD"
) else (
echo/
pause
)
)
Le code de lot utilise la version de la console Rar.exe
au lieu de la version GUI WinRAR.exe
car il n'y a absolument pas nécessaire d'utiliser la version GUI pour ce fichiers d'archive tâche de création.
Le commutateur -df
supprimer tous les fichiers compressés par Rar est retirée en raison de readme.txt
ne doit pas être supprimée automatiquement par Rar après le traitement du premier sous-répertoire. Ce fichier doit également être ajouté aux autres fichiers d'archive à créer pour les autres sous-répertoires. Au lieu de cela, la commande RD est utilisée pour supprimer le sous-répertoire déjà traité avec succès. Sur une erreur comme l'archive RAR à créer existe déjà et est protégé en écriture une ligne vide est sortie avec echo/
et le traitement est arrêté avec pause
.
Le commutateur -idq
est ajouté pour exécuter Rar en mode silencieux, ce qui entraîne des erreurs de sortie uniquement. Les commutateurs -m0
et -v100m
aboutissent au stockage juste au lieu de vraiment compresser tous les fichiers de chaque sous-répertoire dans une archive RAR multi-volume avec 100 Mo par volume. Ce fichier batch est donc évidemment utilisé pour compresser des fichiers d'archive, audio, image ou vidéo déjà compressés en archives multi-volumes.
Le commutateur -y
est ajouté aux invites automatiquement possibles avec oui.
Tous les commutateurs sont documentés dans le fichier texte Rar.txt
dans WinRAR dossier de fichiers programme.
j'ajouté après %%~fD
une barre oblique inverse en cas de quelqu'un d'autre veut utiliser ce code avec interrupteur -ep1
au lieu de -ep
et l'ajout du commutateur -r
pour archiver récursive chaque sous-répertoire sans avoir le nom sous-répertoire ajouté à l'archive aussi. Les commutateurs utilisés archivent uniquement les fichiers dans chaque sous-répertoire, mais pas leurs sous-répertoires, bien que le sous-répertoire traité soit complètement supprimé après la création d'une archive RAR à plusieurs volumes.
Voir aussi les réponses aux questions suivantes: