web-dev-qa-db-ja.com

7-Zipコマンドライン:サイレント/静かに抽出

重複の可能性:
7-Zipの出力を無効にする方法?

コマンドプロンプトから7z.exeを使用して、アーカイブを静かに/静かに抽出したい。サードパーティのスクリプトやAPIを使用したくありません。 7-Zipは、静かなコマンドライン抽出をネイティブでサポートしていますか?

16

7-Zipには、コマンドライン抽出用の明示的な「静かな」または「サイレント」モードがありません。

Stack Overflowでの同様の質問7-Zipファイルを「サイレント」に抽出-コマンドラインオプションにより、 Pythonスクリプトコードを使用したソリューション:

1つの可能性は、popenを使用して子プロセスを生成することです。その結果、その出力は親に戻されて処理/表示されるか(必要な場合)、または完全に無視されます(stdout = PIPEおよびstderr = PIPEでpopenオブジェクトを作成して、子から出力を取得します)。

次に、スーパーユーザーに関する同様の質問。7zファイルを抽出するときに7-Zipのコマンドライン出力をWindowsの/ dev/nullにリダイレクトします問題は主に出力であり、出力をNULLに送信することにより、システムを本質的にサイレントで実行するように報告します。

これを試してください:

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

7
music2myear

はい、コマンドラインの使用をサポートしています。コマンドプロンプトを開き、インストールフォルダー(通常はC:\ Program Files\7-Zip)に移動して、次のように入力します。

7z -h

結果は次のとおりです。

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

だからここにサイレント抽出の一例があります:

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