[batch] symbol /code désignant tout fichiers

Fermé
jah38 Messages postés 21 Date d'inscription dimanche 4 avril 2010 Statut Membre Dernière intervention 19 avril 2010 - 14 avril 2010 à 21:07
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 - 15 avril 2010 à 14:33
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 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
15 avril 2010 à 08:56
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 dimanche 4 avril 2010 Statut Membre Dernière intervention 19 avril 2010
15 avril 2010 à 09:55
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 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
15 avril 2010 à 10:13
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 dimanche 4 avril 2010 Statut Membre Dernière intervention 19 avril 2010
15 avril 2010 à 10:49
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 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
Modifié par dubcek le 15/04/2010 à 10:55
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 dimanche 4 avril 2010 Statut Membre Dernière intervention 19 avril 2010
15 avril 2010 à 11:12
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 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
15 avril 2010 à 14:08
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 dimanche 4 avril 2010 Statut Membre Dernière intervention 19 avril 2010
15 avril 2010 à 14:30
wouaou, j'y pige rien... :D Tu peux m'expliquer ton code si il te plait ?
0
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
15 avril 2010 à 14:33
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