web-dev-qa-db-fra.com

Ligne de commande 7-Zip: Extraire en silence / en silence

doublon possible:
Comment désactiver la sortie de 7-Zip?

Je souhaite utiliser 7z.exe à partir d'une invite de commande pour extraire une archive en mode silencieux/silencieux. Je ne souhaite pas utiliser de scripts ou d'API tiers. Est-ce que 7-Zip prend en charge en natif l'extraction en ligne de commande?

11
oscilatingcretin

7-Zip ne dispose pas d'un mode "silencieux" ou "silencieux" explicite pour l'extraction en ligne de commande.

Une question similaire sur Stack Overflow, Extraire un fichier 7-Zip "silencieusement" - option de ligne de commande, donne une solution possible en utilisant le code de script Python:

Une possibilité serait de générer le processus enfant avec popen, de sorte que sa sortie revienne au parent pour être traitée/affichée (si vous le souhaitez) ou complètement ignorée (créez votre objet popen avec stdout = PIPE et stderr = PIPE pour pouvoir récupérer la sortie de l'enfant).

Et puis une question similaire ici sur Super User, Redirige la sortie de ligne de commande de 7-Zip vers/dev/null sous Windows lors de l'extraction d'un fichier .7z indique que le problème est principalement la sortie et qu'en envoyant la sortie à NULL, le système s'exécute essentiellement en mode silencieux:

Essayez de faire ceci:

% COMSPEC%/c "% ProgramFiles%\7-Zip\7z.exe" ...

5
music2myear

Oui, il prend en charge l'utilisation de la ligne de commande. Ouvrez une invite de commande et naviguez jusqu'au dossier d'installation (généralement C:\Program Files\7-Zip) et tapez:

7z -h

Voici le résultat:

7-Zip 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18

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

<Commands>
  a: Add files to archive
  b: Benchmark
  d: Delete files from archive
  e: Extract files from archive (without using directory names)
  l: List contents of archive
  t: Test integrity of archive
  u: Update files to archive
  x: eXtract files with full paths
<Switches>
  -ai[r[-|0]]{@listfile|!wildcard}: Include archives
  -ax[r[-|0]]{@listfile|!wildcard}: eXclude archives
  -bd: Disable percentage indicator
  -i[r[-|0]]{@listfile|!wildcard}: Include filenames
  -m{Parameters}: set compression Method
  -o{Directory}: set Output directory
  -p{Password}: set Password
  -r[-|0]: Recurse subdirectories
  -scs{UTF-8 | WIN | DOS}: set charset for list files
  -sfx[{name}]: Create SFX archive
  -si[{name}]: read data from stdin
  -slt: show technical information for l (List) command
  -so: write data to stdout
  -ssc[-]: set sensitive case mode
  -ssw: compress shared files
  -t{Type}: Set type of archive
  -u[-][p#][q#][r#][x#][y#][z#][!newArchiveName]: Update options
  -v{Size}[b|k|m|g]: Create volumes
  -w[{path}]: assign Work directory. Empty path means a temporary directory
  -x[r[-|0]]]{@listfile|!wildcard}: eXclude filenames
  -y: assume Yes on all queries

Voici donc un exemple d'extraction silencieuse:

7z x "C:\Path\To\File.Zip" -y > nul
8
EBGreen