gpt4 book ai didi

windows - 如何从批处理例程中输出特定行?

转载 作者:可可西里 更新时间:2023-11-01 10:33:31 25 4
gpt4 key购买 nike

我有以下批处理脚本,递归迭代给定文件夹中的所有文件:

FOR /R %%i IN ("*.wmv") DO "C:\Program Files\7-Zipa\7za.exe" a -mx0 -tzip -pPassword -mem=AES256 -y "%%~dpni.zip" "%%i"

运行时,它会为每个它处理的文件生成以下输出:

 7-Zip (a) [64] 16.04 : Copyright (c) 1999-2016 Igor Pavlov : 2016-10-04

Scanning the drive:
1 file, 382316 bytes (374 KiB)

Creating archive: C:\test\7208969.zip

Items to compress: 1


Files read from disk: 1
Archive size: 382524 bytes (374 KiB)
Everything is Ok

我想创建一个输出文本文件,每次迭代只包含这两行:

Creating archive: C:\test\7208969.zip
Everything is Ok

我试过使用类似的东西从另一个批处理调用主批处理脚本(这只是一个说明性示例):

FOR /F "(tried with skip, delims, tokens, etc)" %%G IN ('7zip.bat') DO echo %%G

但我所尝试的一切最终都写了很多奇怪的东西,除了我需要的东西。

如果有人能启发我如何以任何方式完成此任务,我将不胜感激!

最佳答案

只需使用 findstr 和 2 个表达式(每行一个)将循环中的命令输出管道化。

FOR /R %%i IN ("*.wmv") DO "C:\Program Files\7-Zipa\7za.exe" a -mx0 -tzip -pPassword -mem=AES256 -y "%%~dpni.zip" "%%i" | findstr /C:"Creating archive" /C:"Everything"

在这一点上,我还没有出现问题的情况。显然,您可以添加任意数量的字符串:

... | findstr /C:"Creating archive" /C:"Everything is OK" /C:"Something went wrong"

关于windows - 如何从批处理例程中输出特定行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40030553/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com