在单个输出行中进行findstr多个搜索 [英] findstr multiple search in one single output line
本文介绍了在单个输出行中进行findstr多个搜索的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有多个文本文件,其中包含3行信息,我希望将每个文件作为一行输出
I have multiple text files that contains 3 lines of information that I want to output as one single line for each file
示例
File1.txt 包含
User: "John"
Date: "13-March-2017"
Time: "10.30am"
Remarks: "xcvsfas"
File2.txt 包含
User: "Mary"
Date: "13-March-2017"
Time: "11.30am"
Remarks: "xerteyas"
我的预期输出如下
c:\temp\file1.txt:User: "John"; Date: "13-March-2017"; Time: "10.30am"
c:\temp\file2.txt:User: "Mary"; Date: "13-March-2017"; Time: "11.30am"
我尝试过
findstr /s /i "user date time:" %inputfolder%\*.* > %outputfolder%\final.txt
推荐答案
编辑:根据新规范修改的代码发布在其他答案的注释中... :(
EDIT: Code modified per new specifications posted in a comment in other answer... :(
@echo off
setlocal EnableDelayedExpansion
set "file="
(
for /F "tokens=1* delims=:" %%a in ('findstr /S /I "user date time" %inputfolder%\*.*') do (
if "!file!" neq "%%a" (
if defined file echo !file!:!out!
set "file=%%a"
set "out=%%b"
) else (
set "out=!out!; %%b"
)
)
echo !file!:!out!
) > %outputfolder%\final.txt
这篇关于在单个输出行中进行findstr多个搜索的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文