作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有以下批处理脚本,递归迭代给定文件夹中的所有文件:
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/
我是一名优秀的程序员,十分优秀!