答案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