Bonjour,

J'utilise 7zip en version ligne de commande pour créer une archive au format TAR.

Jusque là pas de problème, par contre dans l'archive j'ai le répertoire d'origine,puis les fichiers qu'il contient or je veut que les fichiers.

Quelqu'un peut me dire comment corrigé car le 7zip ne gére pas les chemins absolue.

Voici le bout de code en C utilisé sous DevC++:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
logAction(FichierLog, "\nArchivage des PDF du repertoire : ");
logAction(FichierLog, RepertoireOUT);
logAction(FichierLog, "\n");
sprintf(ChaineSystem, "7za.exe a %s %s\\*.PDF -r- >> Log\\Log7zip_%s.txt",CheminArchiveCible,RepertoireOUT, DateStamp);
  logAction(FichierLog, ChaineSystem);
  logAction(FichierLog, "\n");
  ResultExec = system(ChaineSystem); // Exécution
  if (ResultExec != 0) {
    logAction(FichierLog, "\nATTENTION ! Erreur lors du traitement d'archivage. \nType d'erreur : ");
    switch (ResultExec) {
           case 1: logAction(FichierLog, "Warning (Non fatal error(s)). For example, some files were locked by other application during compressing. So they were not compressed.\n");break;
           case 2: logAction(FichierLog, "Fatal Error !\n"); break;
           case 7: logAction(FichierLog, "Command-line error.\n"); break;
           case 8: logAction(FichierLog, "Not enough memory for operation. \n"); break;
           case 255: logAction(FichierLog, "User stopped the process.\n"); break;
           default: logAction(FichierLog, "Unknown Error !\n"); break;
    }
    logAction(FichierLog, "\n>> Consultez les logs de 7zip pour plus de détails sur l'erreur.\n");
    system("pause");
    fclose(FichierLog);
    return -1;
  }
Je pense que le problème vient du fait que je passe en paramétre le chemin (CheminArchiveCible), puis le répertoire (RepertoireOUT).

Si quelqu'un a une idée
Merci d'avance