【问题标题】:How to suppress 7zip verbose output but extraction status in percentage?如何以百分比抑制 7zip 详细输出但提取状态?
【发布时间】:2020-02-02 15:15:53
【问题描述】:

7zip 提取的示例输出如下所示:


Scanning the drive for archives:
1 file, 9770776 bytes (9542 KiB)

Extracting archive: tools\StrawberryPerl.7.exe
--
Path = tools\StrawberryPerl.7.exe
Type = 7z
Offset = 162816
Physical Size = 9607960
Headers Size = 11687
Method = LZMA:24m BCJ2
Solid = +
Blocks = 2

 78% 602 - perl\lib\auto\Module\Pluggable\.packlistProcess SpawnPoolWorker-6:

我的问题是,如何抑制这种情况以仅获得提取百分比 (78% 602 - perl\lib\auto\Module\Pluggable\.packlistProcess SpawnPoolWorker-6:)?

我找到了几个关于抑制详细输出的答案,例如:

  1. 在 bat 命令末尾添加>NUL:,这将完全抑制消息。
  2. 在 Python 中将 subprocess.Popenstdout=PIPEstderr=PIPE 一起使用,这再次抑制了所有消息。
  3. 在 bat 命令中使用findstr /b /r /c:"\<Everything is Ok",它将根据给定的字符串进行过滤。在这里,我尝试使用类似于\d+\% 的正则表达式,但并没有真正帮助。如您所见,我不擅长批处理脚本。任何建议将不胜感激!

【问题讨论】:

    标签: python-3.x batch-file subprocess 7zip


    【解决方案1】:

    尝试使用管道输出:

    [7z command] | findstr /rc:"[0-9][%]"
    

    【讨论】:

      猜你喜欢
      • 2016-08-29
      • 1970-01-01
      • 1970-01-01
      • 2019-11-03
      • 1970-01-01
      • 2011-09-05
      • 1970-01-01
      • 1970-01-01
      • 2017-06-29
      相关资源
      最近更新 更多