7-Zip 命令行:静默/安静地提取

7-Zip 命令行:静默/安静地提取

可能重复:
如何禁用 7-Zip 的输出?

我想使用7z.exe命令提示符静默/安静地提取档案。我不想使用第三方脚本或 API。7-Zip 是否原生支持安静命令行提取?

答案1

7-Zip 没有用于命令行提取的明确“安静”或“静默”模式。

Stack Overflow 上也有类似的问题,“静默”提取 7-Zip 文件 - 命令行选项,给出了使用 Python 脚本代码的可能解决方案:

一种可能性是使用 popen 生成子进程,这样它的输出将返回到父进程进行处理/显示(如果需要)或者完全忽略(使用 stdout=PIPE 和 stderr=PIPE 创建 popen 对象以便能够从子进程中检索输出)。

然后超级用户也提出了类似的问题,提取 .7z 文件时将 7-Zip 的命令行输出重定向到 Windows 上的 /dev/null报告称问题主要出在输出上,通过将输出发送到 NULL,可以使系统基本静默运行:

尝试这样做:

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

答案2

是的,它支持命令行使用。打开命令提示符并导航到安装文件夹(通常为 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

相关内容