39 votes

Comment désactiver la sortie de 7-Zip ?

J'utilise 7-Zip pour compresser des fichiers dans un fichier batch comme celui-ci :

...\right_path\7z a output_file_name.zip file_to_be_compressed

J'ai obtenu le résultat suivant :

7-Zip 4.65  Copyright (c) 1999-2009 Igor Pavlov  2009-02-03
Scanning

Creating archive output_file_name.zip

Compressing  file_to_be_compressed

Everything is Ok

Est-il possible de désactiver cette sortie (c'est-à-dire que je ne veux pas que quelque chose soit imprimé) ?

32voto

Wheelie Points 2365

Vous pouvez utiliser le -bs pour contrôler où va la sortie. Pour arrêter tout sauf la sortie d'erreur, j'ajouterais -bso0 -bsp0 .

30voto

Damian Powell Points 315

Il suffit d'ajouter > NUL: à la fin de votre commande.

12voto

Bruno Dermario Points 121

Il est fortement recommandé de consulter les messages d'état au cours du processus. Pour éviter les longs messages, n'affichez que les confirmations :

...\right_path\7z a output_file_name.zip file_to_be_compressed | findstr /b /r /c:"\<Everything is Ok" /c:"\<Scanning" /c:"\<Creating archive"

5voto

Ory Zaidenvorm Points 231

Amélioration de Bruno Dermario réponse, je voulais également signaler les erreurs et pouvoir les vérifier manuellement.

...\right_path\7z a output_file_name.zip file_to_be_compressed > 7z_log.txt
type 7z_log.txt | findstr /b /c:"Everything is Ok" /c:"Scanning" /c:"Creating archive" /c:"Error"
echo.
echo (In case of Error check 7z_log.txt)
echo.

2voto

ygoe Points 1998

Au cas où PowerShell serait une option ou que quelqu'un pourrait l'utiliser, voici ce que j'ai fait, en me basant sur l'idée du findstr réponse.

& $sevenZipBin a "$archiveFile" * | where {
    $_ -notmatch "^7-Zip " -and `
    $_ -notmatch "^Scanning$" -and `
    $_ -notmatch "^Creating archive " -and `
    $_ -notmatch "^\s*$" -and `
    $_ -notmatch "^Compressing "
}
if (-not $?)
{
    # Show some error message and possibly exit
}

En fonctionnement normal, il ne reste que la ligne "Tout va bien". Si quelque chose d'inhabituel est imprimé, il reste visible (à l'exception des lignes vides qui apparaissent si souvent dans la sortie normale).

Ceci est testé pour la sortie au format 7z. D'autres formats d'archives peuvent produire d'autres messages que "Compressing". L'extraction produira probablement aussi des messages différents. Mais vous pouvez facilement adapter le filtre à vos besoins.

Une idée plus complexe serait de rediriger toute la sortie vers un tampon et de ne l'imprimer que si la commande renvoie un code de sortie d'erreur. Cette méthode fonctionne avec toutes les commandes qui autorisent la redirection et fournissent un code de sortie d'erreur précis.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X