Compression de fichiers à l'aide d'un .bat

Fermé
OliG Messages postés 4 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 29 janvier 2008 - 27 janv. 2008 à 06:11
BlueskyFR Messages postés 74 Date d'inscription dimanche 2 février 2014 Statut Membre Dernière intervention 28 décembre 2015 - 20 oct. 2015 à 18:52
Bonjour,

Je suis à la recherche d'un exemple de batch file qui permet de créer un .zip à partir d'un .bat. Celui-ci doit être exécuté automatiquement à la suite d'une compilation c++ sous visual studio 2005, donc il n'est pas possible de compresser manuellement les fichiers. Je dois inclure des fichiers qui sont dans différents répertoires dans un seul .zip.

Est-ce que windows dispose d'une commande "zip" par défault? je dois envoyer ce projet par email et je dois être sur que le .bat fonctionnera sur la machine du destinataire... Je ne peux donc pas utiliser de programme obscur, aussi efficace soit-il. Quelles sont mes solutions?

Jusqu'a présent, j'ai essayé la commande "zip" mais j'ai une erreur : 'zip' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.

Toute aide sera appréciée,
Merci!

19 réponses

dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
27 janv. 2008 à 17:02
hello
j'utilise le gratuit 7-zip : https://www.7-zip.org/
dans l'aide, il y a toutes les options pour l'exécuter depuis la ligne de commande, donc en .bat:
Commands quick reference
Command Description 
a Add 
d Delete 
e Extract 
l List 
t Test 
u Update 
x eXtract with full paths 
8
OliG Messages postés 4 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 29 janvier 2008 10
27 janv. 2008 à 16:34
Wow! Si je m'attendais à ca!

Je sais très bien que Winzip est commercial... Je n'utilise pas winzip, c'est tout...
D'ailleur d'ou vient cette remarque assasine sur winzip? de la commande "zip"? J'ai mentionné ceci puisqu'un ami, souhaitant m'aider, m'a donné un court exemple qui incluait cette commande... L'ennui est que je n'arrive pas à l'utiliser chez moi ( peut-etre justement puisque je n'ai pas winzip?), le compilateur me retourne une erreur (comme mentionné plus haut) : "zip" n'est pas reconnu en tant que commande interne ou externe, un programme exécutable ou un fichier de commandes. Ma question demeure : y a t'il une commande par défaut qui permet de zipper des fichiers sur tout ordinateur?

Soyez indulgents s'il y a des choses incongrues dans ma question, la vérité c'est que je n'ai jamais fais de batch file... J'ai fais des recherches sur le net mais je n'ai rien trouvé de concluant sur les batch file de compression (sauf pour pkzip, mais je ne peux pas l'utiliser). c'est précisément pourquoi je demande votre aide à ce sujet.

Si vous pensez laisser une attaque personelle contre moi, sans apporter quelque chose de constructif à mon problème... veuillez svp quitter les lieux sans faire de grabuge (comme toi phil)

Si vous pouvez m'aider ou simplement me diriger vers un lien internet qui m'a échappé, j'apprécierais beaucoup.
Merci
7
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
27 janv. 2009 à 16:10
7z a -tzip archive.zip F:\Mesdocs\*
5
OliG Messages postés 4 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 29 janvier 2008 10
29 janv. 2008 à 18:44
Je ne vois pas ce qu'il y a de si atroce dans ma question, quelqu'un veut m'expliquer?

Si aucun programme de compression n'est installé, windows prend en charge la décompression des fichiers... Est-ce si bête de demander s'il existe une commande console pour cette opération?

J'ai finis par inclure 7za.exe dans mon dossier (une version "stand alone" de 7z)...
3

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

Posez votre question
OliG Messages postés 4 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 29 janvier 2008 10
28 janv. 2008 à 00:47
Merci dubcek!

J'ai essayé avec 7-zip et ça fonctionne très bien.
Le seul grain de sable dans l'engrenage est que si le destinataire de mon projet n'a pas le programme 7-zip sur son ordinateur, il ne pourra pas compiler. C'est la raison pour laquelle je souhaitais savoir si une commande windows existait par défaut pour la compression.

En vérité par "programme obscur" je faisais référence à info-zip, un assistant de compression gratuit qui fonctionne également, mais qui ne semble pas très connu. Pour l'instant, je vais simplement indiquer ou télécharger 7-zip.

Par simple curiosité personelle, et pour la prochaine fois, quelqu'un sait il s'il existe une commande de compression propre à windows?

Merci encore dubcek!
0
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
28 janv. 2008 à 09:08
Si je comprends bien la question, le but c'est d'avoir un prgramme libre source C++ qui crée ou lit un fichier .zip ?
0
phil_232 Messages postés 286 Date d'inscription jeudi 6 décembre 2007 Statut Membre Dernière intervention 12 juin 2008 33
28 janv. 2008 à 23:51
winzip existe toujours en trial cad il y a une version gratuite

https://www.winzip.com/win/en/
0
rodrigue62 Messages postés 190 Date d'inscription vendredi 18 février 2005 Statut Membre Dernière intervention 10 janvier 2011 30
7 janv. 2009 à 17:05
Bonjour,

J'aurais besoin de votre aide, en esperant pas me faire insulter parceque ma question sera "idiote".
7Zip est installé sur mon PC mais quand je tape 7z sous l'invité de commande ca me répond : " '7Z' n'ets pas reconnu en tant que commande interne ou externe..."
Où est mon erreur? j'ai vu cette commande dans le fichier Help de 7 Zip, n'est ce pas comme ca que l'on l'utilise?

Merci d'avance.
0
logon313 Messages postés 41 Date d'inscription mercredi 25 décembre 2013 Statut Membre Dernière intervention 2 novembre 2016 9
20 oct. 2015 à 09:42
bonjour!
il m'est arrivé une erreur d'étourderie qui t'est peut être arrivé:
le fichier externe se nomme "7za.exe" et tu as surement tapé la commande "7z"
0
BlueskyFR Messages postés 74 Date d'inscription dimanche 2 février 2014 Statut Membre Dernière intervention 28 décembre 2015 9 > logon313 Messages postés 41 Date d'inscription mercredi 25 décembre 2013 Statut Membre Dernière intervention 2 novembre 2016
20 oct. 2015 à 18:52
Cette réponse date de 6 ans... :D Le problème a surement été résolu ou il est passé à autre chose depuis ;)
0
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
7 janv. 2009 à 17:26
il faut préciser le chemin complet, avec des " à cause des espaces

C:>"C:\Program Files\7-Zip\7z"

7-Zip 4.42 Copyright (c) 1999-2006 Igor Pavlov 2006-05-14

Usage: 7z <command> [<switches>...] <archive_name> [<file_names>...]
[<@listfiles...>]

<Commands>
a: Add files to archive
d: Delete files from archive
...
...
0
rodrigue62 Messages postés 190 Date d'inscription vendredi 18 février 2005 Statut Membre Dernière intervention 10 janvier 2011 30
8 janv. 2009 à 09:55
Merci de ton aide.
J'avance, maintenant j'obtiens le message "incorrect wildcard in listfile" et c'est pas très parlant pour moi.
0
rodrigue62 Messages postés 190 Date d'inscription vendredi 18 février 2005 Statut Membre Dernière intervention 10 janvier 2011 30
26 janv. 2009 à 16:58
Personne ne peut m'aider pour le message d'erreur que j'obtiens?

Merci d'avance.
0
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
26 janv. 2009 à 17:11
affiche la commande utilisée
0
rodrigue62 Messages postés 190 Date d'inscription vendredi 18 février 2005 Statut Membre Dernière intervention 10 janvier 2011 30
27 janv. 2009 à 11:01
<img src="http://img1.imagilive.com/0109/7zerror.gif">
0
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
27 janv. 2009 à 12:17
les " sont inutiles si il n'y a pas d'espace dans les noms
l'erreur est dans le fichier F:\Mesdocs

List file
You can supply one or more filenames or wildcards for special list files (files containing lists of files). The filenames in such list file must be separated new line symbol(s).

For list files 7-Zip uses UTF-8 encoding by default. You can change encoding using -scs switch.

Multiple list files are supported.

For example, if contents of file "listfile.txt" is the following:

My programs\*.cpp
Src\*.cpp

then command

7z a -tzip archive.zip @listfile.txt

adds to archive "archive.zip" all "*.cpp" files from directories "My programs" and "Src".

0
rodrigue62 Messages postés 190 Date d'inscription vendredi 18 février 2005 Statut Membre Dernière intervention 10 janvier 2011 30
27 janv. 2009 à 14:43
Si je veux compresser tout le dossier F:\Mesdocs il faut quand même que je passe par un listfile.txt dans lequel j'inscrirais uniquement F:\Mesdocs ?
0
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
27 janv. 2009 à 14:52
non, pas besoin pour un dossier, un listefile c'est pour des chemins variés et complexes
0
rodrigue62 Messages postés 190 Date d'inscription vendredi 18 février 2005 Statut Membre Dernière intervention 10 janvier 2011 30
27 janv. 2009 à 16:00
Alors quel est le problème lorsque je veux compresser F:\Mesdocs, le nom de chemin n'est pas assez détaillé?
Merci pour ton aide.
0
rodrigue62 Messages postés 190 Date d'inscription vendredi 18 février 2005 Statut Membre Dernière intervention 10 janvier 2011 30
27 janv. 2009 à 16:15
impecable. merci beaucoup.
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
28 janv. 2008 à 23:53
tu t'attendais à ce que windows fase aussi le café ou as-tu laisssé cette solution à ta cafetière ?
-9
phil_232 Messages postés 286 Date d'inscription jeudi 6 décembre 2007 Statut Membre Dernière intervention 12 juin 2008 33
27 janv. 2008 à 11:51
tu programmes en c++ et tu ne sais pas que winzip est un programme entre temps commercial ????????
je doute tes capacités
sinon c'est avec Shell qu'on fait ça
-11