Board logo

标题: [文本处理] 批处理输出文件的格式排布 [打印本页]

作者: maxwell    时间: 2018-11-5 15:47     标题: 批处理输出文件的格式排布

{本身是一个帖子的,结果被我不小心删掉了,所以后续的问题重新说明下}

当前我有一个option.def 文件,我需要提取里面的数据,并输出到aa.txt(见附件)[attach]11550[/attach]
现在按照指令:findstr /i /b /r /c:"#define" /c:"OPEN_ONLY_LAN_.*:= *YES" /c:"ANDROID_MODE" option.def >> aa.txt

已经获得相关数据,但是直接用txt打开显示一团乱麻.
如下:

我需要的标准的输出样式)

我当前的通过拆解上述指令,进行单句筛查:(输出格式完全没有回车)

请问如何修改才能达到我期望的样式
作者: yhcfsr    时间: 2018-11-5 16:29

本帖最后由 yhcfsr 于 2018-11-5 16:36 编辑

这是UNIX文本格式,只有LF(换行)无CR(回车).
WIN10打开UNIX文本并无问题,你的记事本过时了.
  1. >>aa.txt (for /f "delims=" %%a in ('findstr /i /b /r /c:"#define" /c:"OPEN_ONLY_LAN_.*:= *YES" /c:"ANDROID_MODE" option.def') do echo;%%a)
复制代码

作者: xczxczxcz    时间: 2018-11-5 16:59

XP ? WIN7 ?

==============
作者: WHY    时间: 2018-11-5 20:35

本帖最后由 WHY 于 2018-11-6 09:50 编辑
  1. @echo off
  2. (
  3.     echo;//暗码区间
  4.     find /v "" | findstr /i /b "#define"
  5.     echo;&echo;//地域区间
  6.     find /v "" | findstr /i /b /r /c:"OPEN_ONLY_LAN_.*:= *YES"
  7.     echo;&echo;//模式区间
  8.     for /f "tokens=1* delims==" %%i in ('find /v "" ^| findstr /i /b "ANDROID_MODE"') do (
  9.         echo;%%i=
  10.         for %%k in (%%j) do echo;%%k
  11.     )
  12. ) < option.def > a.txt
  13. pause
复制代码

作者: maxwell    时间: 2018-11-6 08:57

回复 2# yhcfsr


    这个做这个主要是为了迎合大部分同事,而不是自己通过升级系统来完善这个问题,功能性的东西不都是向下兼容吗?所以你说的这个我自己肯定有注意到。因此才麻烦各位对此有研究的朋友帮忙看下
作者: maxwell    时间: 2018-11-6 09:11

回复 2# yhcfsr


  兄dei,不对哦
全都重复了两次。还带有了路径, 另外就是ANDROID_MODE      后面没有换行。
作者: maxwell    时间: 2018-11-6 09:15

回复 4# WHY


    朋友,这个地方能 换行么?
作者: WHY    时间: 2018-11-6 09:51

回复 7# maxwell


    已改




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2