[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]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

评分人数

回复 1# 172788876
噢噢,么有下次了。。

TOP

  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. if !b!==0 echo !a!>>3.txt
  8. set c=!a:~4,1!
  9. if !c!==0 echo !a!>>3.txt)
复制代码
1.txt为原文件,3.txt为按你要求提取后的文件
这个代码可以可以达到你的要求。

但for里面的语句我感觉应该还可以再精简的,但我自己减了直接运行出错了。。希望有大侠能指点下
1

评分人数

TOP

回复 4# codegay


    findstr不熟悉,我要再多试试
    我for代码中截断语句用了3行来完成。能不能跟在非循环语句中一样,直接一句搞定?
2

评分人数

TOP

findstr -rc:"^[0-9][0-9][0-9][0-9]*0" 1.txt
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

回复 3# sishentibu
谢谢!!!

TOP

回复 5# codegay
谢谢!!!

TOP

回复 3# sishentibu
不知道咋回事,还是无效。。执行命令出来,是空白的文档

TOP

python
  1. [open("2.txt","a+").write(r) for r in open("1.txt",encoding="utf-8").readlines() if len(r.split(" ")[0])>=4 and r.split(" ")[0].endswith("0")]
复制代码
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

回复 9# codegay
噢噢,谢了

TOP

回复 9# codegay
可以不用第三方插件吗???
谢了,
帮忙做个。。。

TOP

回复 8# 172788876

我今天又测试了下,是可以的啊
能否详细描述下你的操作?

TOP

回复 12# sishentibu
那我发给你文档吧。。
http://pan.baidu.com/s/1jGPEZPG
谢谢了

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

本帖最后由 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

返回列表