Línea de comando 7-Zip: Extracto silencioso / silencioso [duplicado]

15

Posible duplicado:
¿Cómo deshabilitar la salida de 7-Zip?

Quiero usar 7z.exedesde un símbolo del sistema para extraer silenciosamente / silenciosamente un archivo. No quiero usar scripts o API de terceros. ¿7-Zip tiene soporte nativo para extracción silenciosa de línea de comandos?

oscilantecretina
fuente
7zip no tiene modo silencioso. Por lo tanto, si no desea ver la salida, puede usar "pantalla". iniciar una nueva pantalla, luego ejecutar el comando de extracción 7zip y luego desconectarlo de la pantalla usando "Ctrl-A + d". La pantalla se ejecutará en segundo plano y no verá la salida. Puede volver a conectarlo con la pantalla cuando sea necesario para ver qué sucede. Cuando termine, puede finalizar la sesión de "pantalla".
bgth

Respuestas:

6

7-Zip no tiene un modo "silencioso" o "silencioso" explícito para la extracción de la línea de comandos.

Una pregunta similar en Stack Overflow, Extraer un archivo 7-Zip "silenciosamente" - opción de línea de comando , ofrece una posible solución usando el código de secuencia de comandos Python:

Una posibilidad sería generar el proceso hijo con popen, por lo que su salida volverá al padre para ser procesado / mostrado (si lo desea) o ignorado por completo (cree su objeto popen con stdout = PIPE y stderr = PIPE para poder para recuperar la salida del niño).

Y luego una pregunta similar aquí en Super User, Redirigir la salida de la línea de comandos de 7-Zip a / dev / null en Windows cuando extrae un archivo .7z informa que el problema es principalmente la salida, y que al enviar la salida a NULL, usted hacer que el sistema funcione esencialmente silencioso:

Intenta hacer esto:

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

music2myear
fuente
Nota: utilicé la respuesta editada en mi pregunta por otra persona. Poner `> NUL` al final de mi cadena de línea de comando funciona. Solo estoy marcando esto como respuesta para aumentar mi relación de respuesta ya que no puedo eliminar esta publicación.
oscilatingcretin
A veces hago lo mismo. Es bueno notar, como lo hace, cuando eso sucede que no es la respuesta correcta, sino la más conveniente.
music2myear
6

Sí, admite el uso de la línea de comandos. Abra un símbolo del sistema y navegue a la carpeta de instalación (generalmente C: \ Archivos de programa \ 7-Zip) y escriba:

7z -h

Aquí está el resultado:

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

Así que aquí hay un ejemplo de extracción silenciosa:

7z x "C:\Path\To\File.zip" -y > nul
EBGreen
fuente
11
No está preguntando sobre las opciones de comando, está preguntando específicamente sobre la operación silenciosa desde la línea de comando.
music2myear
3
Sí. Realmente canalicé los resultados a un archivo de texto y busqué "silencioso" y "silencioso" porque pensé que el ejemplo del respondedor no mostraba algo.
oscilatingcretin
2
Silencioso puede significar cosas diferentes para diferentes personas. Supuse que el OP leería y aplicaría los interruptores que quisieran, pero ciertamente puedo proporcionar un ejemplo.
EBGreen
3
No responde la pregunta. ¿Dónde en su respuesta muestra el modo silencioso / silencioso?
NickG
Brillante, quería reducir el correo no deseado durante mi construcción y la tubería a nulo era exactamente lo que necesitaba.
Matt Klein,