7zip dans cmd : Incorrect command line

Résolu
Bonjour,

J'ai besoin d'un batch pour me refaire une archive pour le jeu Enemy Territory, qui utilise des archives zip à l'extension pk3. (J'ai ajouter le répertoire de 7-zip à la variable path.)

J'ai pour cela utiliser ce code :
@echo off
echo Voulez-vous vraiment creer l'archive ?
pause
set chemin=D:\mon chemin\avec quelques espaces\
set archive=D:\mon chemin\et\jaymod\mon_archive.pk3
cd %chemin%
7z a %archive% *
pause


Mais j'obtiens une erreur :
Incorrect command line

Pas plus d'information, ce qui est très génants.

Mais pistes sont :
- L'utilisation de * pour dire "tous les fichiers et dossiers du répertoire". Je suis obligé de passer par ce caractère, sauf si c'est possible de faire autrement.
- Les espaces. Quoique bizarre, on est pas sur internet avec les %20 ...

J'ai aussi testé ce code, mais j'obtiens la même erreur :
@echo off
echo Voulez-vous vraiment creer l'archive ?
pause
set chemin=D:\mon chemin\avec quelques espaces\*
set archive=D:\mon chemin\et\jaymod\mon_archive.pk3
7z a %archive% %chemin%
pause


Merci pour votre aide.



--
___/\_canarder_/\___
Le Renard qui règne sur le WEB : Firefox

9 réponses

  1. Et c'est bon ça marche maintenant.

    Donc voici un code pour terminer le sujet :
    @echo off  
    echo Voulez-vous vraiment creer l'archive ?  
    pause  
    set chemin="" // ici vous mettez le chemin vers le dossier qui contient les éléments à mettre dans l'archive  
    set archive="" // ici vous mettez le chemin vers l'archive (avec le nom du fichier, par exemple D:\dossier\et\jaymod\mon_archive.pk3)  
    cd %chemin% // on va dans le dossier des éléments à mettre dans l'archive  
    7z a -tzip -mx0 %archive% * // on créé l'archive, "-tzip" spécifie que c'est une archive zip (pour une extension qui n'est pas .zip), "-mx0" spécifie qu'on souhaite un taux de compression nul (utile pour des fichiers de jeux) 
    pause


    (La variable PATH doit contenir le répertoire d'installation de 7-zip. Google est votre ami.)
    ___/\_canarder_/\___
    Le Renard qui règne sur le WEB : Firefox
    1. Error:(mon chemin vers l'archive).pk3 is not supported archive 
      
      
      System error: 
      Fonction incorrecte.


      Sinon merci. Je vais voir sur la doc s'il y a un moyen de spécifier que mon archive est en zip. Sinon bah .... je supprime l'ancienne archive, je créer la nouvelle archive en zip, je la renomme en pk3.

      EDIT : De la doc :
      Type switch:      -t7z
      Format:           7Z
      Example filename: archive.7z (default option)
      
      Type switch:      -tgzip
      Format:           GZIP
      Example filename: archive.gzip
      		  archive.gz
      
      Type switch:      -tzip
      Format:           ZIP
      Example filename: archive.zip (very compatible)
      
      Type switch:      -tbzip2
      Format:           BZIP2
      Example filename: archive.bzip2
      
      Type switch:      -ttar
      Format:           TAR
      Example filename: tarball.tar (UNIX and Linux)
      
      Type switch:      -tiso
      Format:           ISO
      Example filename: image.iso
      
      Type switch:      -tudf
      Format:           UDF
      Example filename: disk.udf

      ___/\_canarder_/\___
      Le Renard qui règne sur le WEB : Firefox
      1. Salut

        J'ai lu attentivement ton code.

        Il y a quelque chose qui ne va pas ^^

        Voici des débuts de pistes

        Je te cite :
        @echo off
        echo Voulez-vous vraiment creer l'archive ?
        pause
        set chemin=D:\mon chemin\avec quelques espaces\*
        set archive=D:\mon chemin\et\jaymod\mon_archive.pk3
        7z a %archive% %chemin%
        pause


        Tu oublies les guillemets. Il faut en mettre quand il y a des espaces.

        set chemin="D:\mon chemin\avec quelques espaces\*"
        set archive="D:\mon chemin\et\jaymod\mon_archive.pk3"

        Donc, ca peut donner :

        @echo off 
        echo Voulez-vous vraiment creer l'archive ? 
        pause 
        set chemin="D:\mon chemin\avec quelques espaces\*" 
        set archive="D:\mon chemin\et\jaymod\mon_archive.pk3" 
        7z a %archive% %chemin% 
        pause


        Essaye, et dis moi quel est l'erreur maintenant

        @+
        1. quoi ? j'ai toujours pas trouvé la solution ... c'est juste que j'ai besoin de cette commande pour mes archives.
          1. lu'

            Tu n'avais qu'à répondre en disant que tu avais trouvé et qu'il failait utiliser 7z a -mx0

            et que -mx0 : commression nulle.

            Car là, tu dis à toi même d'utiliser...

            On va te prendre pour un fou XDDD

            ps : je le suis aussi :P (enfin, quand je sors des blagues, on a tendance à me prendre pour un taré ^^)

            @plus ;)
            1. Utilisez plutôt 7z a -mx0 svp.
              -mx0 : compression nulle