Baris perintah 7-Zip: Ekstrak secara diam-diam [duplikat]

15

Kemungkinan Duplikat:
Bagaimana cara menonaktifkan output 7-Zip?

Saya ingin menggunakan 7z.exedari prompt perintah untuk secara diam-diam / diam-diam mengekstrak arsip. Saya tidak ingin menggunakan skrip atau API pihak ketiga. Apakah 7-Zip memiliki dukungan asli untuk ekstraksi baris perintah yang tenang?

ocilatingcretin
sumber
7zip tidak memiliki mode diam. Jadi, jika Anda tidak ingin melihat hasilnya, Anda bisa menggunakan "layar". mulai layar baru, kemudian jalankan perintah ekstraksi 7zip dan kemudian lepaskan dari layar menggunakan "Ctrl-A + d". Layar akan berjalan di latar belakang dan Anda tidak akan melihat hasilnya. Anda dapat memasang kembali layar ketika diminta untuk melihat apa yang terjadi. Setelah selesai, Anda dapat mengakhiri sesi "layar".
bgth

Jawaban:

6

7-Zip tidak memiliki mode "sunyi" atau "sunyi" eksplisit untuk ekstraksi baris perintah.

Pertanyaan serupa di Stack Overflow, Mengekstrak file 7-Zip "diam-diam" - opsi baris perintah , memberikan solusi yang memungkinkan menggunakan kode skrip Python:

Salah satu kemungkinan adalah untuk menelurkan proses anak dengan popen, sehingga hasilnya akan kembali ke induk untuk diproses / ditampilkan (jika diinginkan) atau diabaikan sama sekali (buat objek popen Anda dengan stdout = PIPE dan stderr = PIPE untuk dapat untuk mengambil output dari anak).

Dan kemudian pertanyaan serupa di sini di Super User, Redirect 7-Zip's command-line output ke / dev / null pada Windows ketika mengekstraksi file .7z melaporkan bahwa masalah sebagian besar adalah output, dan bahwa dengan mengirimkan output ke NULL, Anda membuat sistem berjalan pada dasarnya diam:

Coba lakukan ini:

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

music2myear
sumber
Catatan: Saya menggunakan jawaban yang diedit ke pertanyaan saya oleh orang lain. Menempatkan `> NUL` di akhir string baris perintah saya berfungsi. Saya hanya menandai ini sebagai jawaban untuk meningkatkan ransum jawaban saya karena saya tidak dapat menghapus posting ini.
oscilatingcretin
Terkadang saya melakukan hal yang sama. Ini baik untuk dicatat, seperti yang Anda lakukan, ketika itu terjadi bahwa itu bukan jawaban yang tepat, hanya yang paling nyaman.
music2myear
6

Ya, itu mendukung penggunaan baris perintah. Buka prompt perintah dan navigasikan ke folder instal (biasanya C: \ Program Files \ 7-Zip) dan ketik:

7z -h

Inilah hasilnya:

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

Jadi inilah salah satu contoh ekstraksi diam:

7z x "C:\Path\To\File.zip" -y > nul
EBGreen
sumber
11
Dia tidak bertanya tentang opsi perintah, dia bertanya secara khusus tentang operasi diam dari baris perintah.
music2myear
3
Ya. Saya benar-benar menyaring hasilnya ke file teks dan mencari "tenang" dan "diam" karena saya pikir contoh penjawab tidak menunjukkan sesuatu.
oscilatingcretin
2
Diam dapat berarti hal yang berbeda bagi orang yang berbeda. Saya berasumsi bahwa OP akan membaca dan menerapkan switch yang mereka inginkan, tetapi saya tentu dapat memberikan contoh.
EBGreen
3
Tidak menjawab pertanyaan. Di mana dalam jawaban Anda apakah itu menunjukkan mode sunyi / sunyi?
NickG
Brilliant, saya ingin mengurangi spam selama build dan piping ke null adalah persis apa yang saya butuhkan.
Matt Klein