[batch] symbol /code désignant tout fichiers

jah38 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   -  
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour a tous,


J'ai plusieurs dossiers portant différents nom et à qui je souhaite attribuer une même commande mais non global mais sélective. Cette commande consiste a compresser un à un les dossiers.

Voici ma base qui permet la compression :
"%ProgramFiles%\7-Zip\7z.exe" a -ms=on -md=32m -mfb=64 -m0=lzma -mx=9 -mmt -m0d=128m

apres je suis obligé de spécifier chaque dossier source et le nom qui prendra à ça sortie au format 7z .

J'aimerais donc éviter d'avoir a rentrer tout les nom de mes dossiers comme ceci
"design.7z" "design"
"font.7z" "font"
"ico.7z" "ico"
etc... x100

Ici j'ai écrit entre les premiers guillemet "nom final de l archive au format 7z", les second correspond au "non du dossier cible"

Je pourrais simplement compresser le dossier source contenant tout les sous dossier (ici exemple) en utilisant la méthode global, mais cette méthode ne me permétrait pas d'apporter de nouveau dossier à celui ci et m'obligerait à tout décompresser et recompresser .

Voila donc pourquoi je souhaite trouver un SYMBOLE ou UN LIGNE DE COMMANDE CAPABLE D'INDIQUER A MON BATCH, "TU COMPRESSE TOUT LES DOSSIERS EN LEURS DONNANT LEURS NOM" .

wouaouu

Merci pour votre aide a tous.

PS: Voici mon code bat

ECHO OFF
PAUSE

"%ProgramFiles%\7-Zip\7z.exe" a -ms=on -md=32m -mfb=64 -m0=lzma -mx=9 -mmt -m0d=128m "design.7z" "design"

echo.
PAUSE

A voir également:

7 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
cette boucle for s'exécute pour tous les répertoires, et %%d contient le nom

ECHO OFF
PAUSE

for /d %%d in (*.*) do  "%ProgramFiles%\7-Zip\7z.exe" a -ms=on -md=32m -mfb=64 -m0=lzma -mx=9 -mmt -m0d=128m "%%d.7z" "%%d"

echo.
PAUSE 
2
jah38 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
 
C'est terrible ... :D

E si par exemple je duplliquer un dossier et l'ou chacun d'eux porterais un base identique et une lettre(chiffre ou tout autres) différente et que je souhaiterais regrouper tout ces parties ensemble. Exemple comme ceci .

"design.7z" "design - nature" "design - urbain" "design - etc...

"font.7z" "font - arial" "font.7z" "font - cerif" "font.7z" "font - etc...

etc... x100

Cette seconde méthode regrouperait tout les éléments parenté

un grand merci pour ton aide
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
manuellement :
dossier\design.7z "design*.*"
dossier\font.7z "font*.*"

j'ai mis dossier\ pour éviter que design*.* trouve design.7z, sinon il va boucler ou faire une erreur
0
jah38 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
 
la je voie pas trop j'ai mis cette commande mais ça marche pas :D

ECHO OFF
PAUSE

"%ProgramFiles%\7-Zip\7z.exe" a -ms=on -md=32m -mfb=64 -m0=lzma -mx=9 -mmt -m0d=128m "dossier\design.7z "design*.*"

echo.
PAUSE
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
dossier doit exister
il manque un "
"dossier\design.7z" "design*.*"
ou essayer sans "
dossier\design.7z design*.*
0
jah38 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
 
non marche toujours pas d'ailleurs c'est bizard parce que ça traite des images portant le nom design1.jpg et design2.jpg mais pas les dossiers design1 etdesign2 et design3 .

je ne comprend pas pourquoi ça ne marche pas ...


Si non y a il la possibilité de faire en sorte que ça traite de la même façon tout les éléments autre que dossier ? Car pour l'instant ce code fonctionnait seulement sur les répertoires et nom sur les autres fichiers compris dans le dossier sources .
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
utiliser l'option -r pour les sous répertoires
tu peux essayer
dir /b "design*.*" > liste
7zip ... design.7z @liste
0
jah38 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
 
wouaou, j'y pige rien... :D Tu peux m'expliquer ton code si il te plait ?
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
dir /b "design*.*" > liste
on créée un fichier contenant le nom des fichiers design*.*
et on utilise cette liste dans 7zip avec @liste
0