[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] {已解决}批处理如何提取第4、5个字符为0的行?

本帖最后由 172788876 于 2017-1-31 10:16 编辑

如题:从一个文本里面提取指定的内容,建立新的列表
文本内容
2180  "重击"
2190  "警觉"
2200  "勇气"
52790  "秘法·逐鹿九州"
52780  "秘法·千变玄机"
47490  "秘法·百无禁忌"
47491  "秘法·百无禁忌"
47492  " 
47470  "秘法·九霄
提取第四列,第五列为 0 的这一行建立新的txt列表
新列表
2180  "重击"
2190  "警觉"
2200  "勇气"
52790  "秘法·逐鹿九州"
52780  "秘法·千变玄机"
47490  "秘法·百无禁忌"
47470  "秘法·九霄

谢谢大神了。。。
1

评分人数

本帖最后由 CommandBatCmd 于 2017-2-1 14:51 编辑

如果楼主的最终结果是,只要数字末尾是0的所有行,取余就可以获得了。

回来附上代码
  1. @echo off&setlocal EnableDelayedExpansion
  2. for /f "tokens=1,2*" %%I in (a.txt) do Set/A A=%%I%%10&if "!A!"=="0" echo,%%I  %%J
  3. pause
复制代码

TOP

楼主既然有UE,直接用UE好了,不一定非得用脚本实现(前提是要会点正则)

“搜索”菜单——查找——查找内容输入:^\d{3,4}0\s.*$——勾选正则表达式:Perl——显示行
复制结果就OK了

TOP

回复 15# pcl_test


    ^,双引号

TOP

回复 21# 172788876


.join('\n')

TOP

回复 22# 172788876
然后我再复制进txt,排版又不正常了,最后没办法,我用Excel重新排版了下

TOP

回复 21# 172788876
我用UE打开它,排版居然正常了

TOP

回复 15# pcl_test
版主,我测试了你那个命令,但是,排版乱了。。

TOP

回复 16# WHY
嗯嗯,谢谢,太感谢了,批处理之家比贴吧有爱多了,这么多大神帮忙解决问题

TOP

回复 15# pcl_test
版主,居然惊动你了,太惊喜了

TOP

回复 14# sishentibu

嗯嗯,谢谢

TOP

findstr就够了

TOP

  1. type a.txt|findstr /r /c:"^[0-9][0-9][0-9]0 " /c:"^[0-9][0-9][0-9][0-9]0 ">b.txt
复制代码

TOP

本帖最后由 pcl_test 于 2016-7-18 13:37 编辑
  1. mshta http://bathome.net/s/hta/ type('A.txt').match(/^\d{3,4}0\s+.+/g).join('\r\n')>B.txt
复制代码

TOP

本帖最后由 sishentibu 于 2016-3-5 19:49 编辑

回复 13# 172788876


    把你的文档转码下就可以读取了、
我自己用代码运行完了后,发现好多的干扰项
按我的理解,你想要的是类似需要的,然后序号末尾是0的项吧?
然后我又加了个判断
  1.     @echo off
  2.     echo.>3.txt
  3.     setlocal enabledelayedexpansion
  4.     for /f "delims=;" %%i in (1.txt) do (
  5.     set a=%%i
  6.     set b=!a:~3,1!
  7. set c=!a:~4,1!
  8. set d=!a:~5,1!
  9.      if !b!==0 (if !c!==^  echo !a!>>3.txt)
  10.      if !c!==0 (if !d!==^  echo !a!>>3.txt))
复制代码
http://pan.baidu.com/s/1bogixm3

TOP

返回列表