Je suis un peu coincé ici, j'ai créé un fichier facile à compresser les dossiers avec un nom spécial. Donc, disons que nous recherchons des dossiers avec le nom "tozip", mais le nom du fichier compressé doit être le nom du sous-dossier + le nom du dossier. par exemple. tous les fichiers de C: / test / somefolder / 123456 / tozip / * doivent être ajoutés au fichier "123456_tozip.7z"
ce que j'ai actuellement c'est:
for /R /d /r %%i in (tozip*) do (
7za a -tzip "%%i.7z" "%%i" -mx3
)
mais cela n'ajoute pas le nom du dossier n-1 au nom du fichier. J'ai vu, que je peux extraire par exemple le nom de fichier par %% ~ nxi ou le chemin complet, mais malheureusement pas les informations dont j'ai besoin. Des idées à ce sujet?
windows
batch-file
batch-rename
Markus
la source
la source
.7z
) file: dans `tozip`, ou plus haut dans l’arborescence?-tzip
signifie que vous utilisez les méthodes de compression zip et non 7z. Mais vos archives auront le.7z
extension. Est-ce prévu?Réponses:
Vous étiez si proche et vous avez même la bonne idée mais vous devez aller plus loin. Une fois que vous avez trouvé le
tozip
répertoire, vous pouvez ensuite mettre ce chemin dans un autreFOR
commande pour obtenir le dossier parent dutozip
dossier.Voici le code basé sur votre exemple.
la source
\..
est une solution beaucoup plus soignée!