Utilisez 7z pour sauvegarder chaque sous-répertoire dans un fichier séparé

1

Ma structure de fichier est:

c:\csdata\folder1
c:\csdata\folder2
c:\csdata\folder3
etc

J'essaie d'utiliser 7z pour sauvegarder tous les dossiers dans csdataleur propre archive dans un dossier temporaire (C: \ butemp).

Voici ce que j'ai jusqu'à présent:

For /D %%i in (C:\csdata\*.*) DO 7za a "%%i.7z" "%%i"

Ce qui précède fonctionne, mais crée le fichier 7z dans le csdatadossier, car %%iest égal au chemin complet.

Kevin Baker
la source

Réponses:

1

forvous donne la possibilité d'extraire (et de combiner) diverses parties de la variable de boucle (extraite de help for):

% ~ nI - développe% I en un nom de fichier uniquement
% ~ xI - développe% I en une extension de fichier uniquement
(tronqué)

The modifiers can be combined to get compound results:

%~dpI       - expands %I to a drive letter and path only
%~nxI       - expands %I to a file name and extension only
(truncated)

Afin que vous puissiez utiliser 7za a "C:\butemp\%%~nxi.7z" "%%i"

Courir help forpour plus d'options

wmz
la source
Génial .. merci pour l'aide et a travaillé parfaitement!
Kevin Baker