如何禁用 7-Zip 的输出?

Mis*_*hko 37 batch 7-zip

我使用7-Zip压缩批处理文件中的文件,如下所示:

...\right_path\7z a output_file_name.zip file_to_be_compressed
Run Code Online (Sandbox Code Playgroud)

我得到以下输出:

7-Zip 4.65  Copyright (c) 1999-2009 Igor Pavlov  2009-02-03
Scanning

Creating archive output_file_name.zip

Compressing  file_to_be_compressed

Everything is Ok
Run Code Online (Sandbox Code Playgroud)

是否可以禁用此输出(即,我不想打印任何内容)?

Den*_*son 30

只需添加> NUL:到命令的末尾即可。

  • @PeterMortensen:在 DOS 和 Windows 控制台中,诸如“NUL”之类的保留设备名称后面可以跟一个可选的冒号。据我所知,它不执行任何实际功能,但作为一种视觉提醒,它是一个设备,与驱动器号后的冒号的使用类似。 (5认同)
  • 冒号有什么用? (3认同)

Eva*_*van 29

您可以使用-bs命令来控制输出的位置。要停止除错误输出之外的任何内容,我会添加-bso0 -bsp0.

  • 这是正确的,但在 7Zip 版本 15.01 或 9.38beta 之后引入 来源:https://sourceforge.net/p/sevenzip/discussion/45797/thread/8a45fa74/ 实际的 Synology DSM 6.1.x 包括版本 9.20 的 7zip 和没有这样的选项。 (2认同)

小智 12

强烈建议在此过程中查看状态消息。为避免长消息,只显示确认信息:

...\right_path\7z a output_file_name.zip file_to_be_compressed | findstr /b /r /c:"\<Everything is Ok" /c:"\<Scanning" /c:"\<Creating archive"
Run Code Online (Sandbox Code Playgroud)


小智 5

改进Bruno Dermario 的答案,我还想报告错误并能够手动检查它们。

...\right_path\7z a output_file_name.zip file_to_be_compressed > 7z_log.txt
type 7z_log.txt | findstr /b /c:"Everything is Ok" /c:"Scanning" /c:"Creating archive" /c:"Error"
echo.
echo (In case of Error check 7z_log.txt)
echo.
Run Code Online (Sandbox Code Playgroud)