Rechercher : dans
Par :

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

Dernière réponse le 27 jan 2009 à 16:15:28 OliG, le 27 jan 2008 à 06:11:57 
 Signaler ce message aux modérateurs

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!

Configuration: Windows Vista
Firefox

Meilleures réponses pour « Compression de fichiers à l'aide d'un .bat » dans :

2

phil_232, le 27 jan 2008 à 11:51:18

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

Répondre à phil_232

3

OliG, le 27 jan 2008 à 16:34:59

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

Répondre à OliG

4

dubcek, le 27 jan 2008 à 17:02:03

Hello
j'utilise le gratuit 7-zip : http://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 

Répondre à dubcek

5

OliG, le 28 jan 2008 à 00:47:46

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!

Répondre à OliG

6

dubcek, le 28 jan 2008 à 09:08:28

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 ?

Répondre à dubcek

7

phil_232, le 28 jan 2008 à 23:51:13

Winzip existe toujours en trial cad il y a une version gratuite

http://www.winzip.com/index.htm

Répondre à phil_232

8

arth, le 28 jan 2008 à 23:53:41

Tu t'attendais à ce que windows fase aussi le café ou as-tu laisssé cette solution à ta cafetière ?
Le loup, solitaire et mystérieux.

Répondre à arth

9

OliG, le 29 jan 2008 à 18:44:29

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)...

Répondre à OliG

10

rodrigue62, le 7 jan 2009 à 17:05:56

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.

Répondre à rodrigue62

11

dubcek, le 7 jan 2009 à 17:26:03

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
...
...

Répondre à dubcek

12

rodrigue62, le 8 jan 2009 à 09:55:42

Merci de ton aide.
J'avance, maintenant j'obtiens le message "incorrect wildcard in listfile" et c'est pas très parlant pour moi.

Répondre à rodrigue62

13

rodrigue62, le 26 jan 2009 à 16:58:44

Personne ne peut m'aider pour le message d'erreur que j'obtiens?

Merci d'avance.

Répondre à rodrigue62

14

dubcek, le 26 jan 2009 à 17:11:03

Affiche la commande utilisée

Répondre à dubcek

15

rodrigue62, le 27 jan 2009 à 11:01:07
Répondre à rodrigue62

16

dubcek, le 27 jan 2009 à 12:17:35

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".

Répondre à dubcek

17

rodrigue62, le 27 jan 2009 à 14:43:50

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 ?

Répondre à rodrigue62

18

dubcek, le 27 jan 2009 à 14:52:19

Non, pas besoin pour un dossier, un listefile c'est pour des chemins variés et complexes

Répondre à dubcek

19

rodrigue62, le 27 jan 2009 à 16:00: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.

Répondre à rodrigue62

20

dubcek, le 27 jan 2009 à 16:10:43
  • +1

7z a -tzip archive.zip F:\Mesdocs\*

Répondre à dubcek