在单个输出行中进行findstr多个搜索 [英] findstr multiple search in one single output line

查看:125
本文介绍了在单个输出行中进行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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆