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


   按照你第一次写代码,该如何修改呢

TOP

批处理如何批量删除纯数字所在的行数?

jhfgudeli|wodima123
jhfgudeli|jhfgudeli
jhfgudeli|7204381
jest1314527|1314527
jeffnomms|fanzhe128
jaychen3326|wfd901215


“|”右侧只要是纯数字的,整行删除,“123123fa” 这种不要删除掉哦

TOP

本帖最后由 老刘1号 于 2017-1-22 16:55 编辑
  1. Echo off&cls
  2. >输出.txt (
  3. FOR /f "delims=^| tokens=1,*" %%a in (文本.txt) do (
  4.     echo.%%b|(Findstr /i "a b c d e f g h i j k l m n o p q r s t u v w x y z")1>nul 2>&1&&Echo.%%a^|%%b
  5. ))
复制代码
出了点小问题,改下……
这回真改了……
2

评分人数

    • Rasm: 厉害,完美解决了技术 + 1
    • capslock: 乐于助人技术 + 1

TOP

本帖最后由 Nsqs 于 2017-1-22 04:45 编辑

方法1
  1. ' 2>nul &cls&(type "1.txt"|cscript -nologo -e:"vbs" "%~0")>new.txt&exit
  2. set ws=wsh.stdin:set regexp=new regexp
  3. with regexp
  4.     do
  5.         .global=-1:.pattern="^.+\|\d*$"
  6.         read=ws.readline
  7.         if not .test(read) then wsh.echo read
  8.     loop until ws.atendofstream
  9. end with
复制代码
方法2
  1. @echo off&setlocal enabledelayedexpansion
  2. (for /f "tokens=1-2 delims=|" %%1 in (1.txt)do (
  3. set /a n=%%2
  4. if !n! equ 0 echo %%1^|%%2
  5. ))>new.txt 2>nul
复制代码

TOP

  1. findstr /v "\|[0-9][0-9]*$" 1.txt >new.txt
复制代码
1

评分人数

TOP

回复 4# CrLf


    这个正则写法有问题,有的数字没有剔除

TOP

回复 2# 老刘1号


    ……题目看错,我处理了一通左侧的……

TOP

回复 4# CrLf


    [attach]10397[/attach]

TOP

哎哟,版主一出手就有美女加分,隔壁老刘就没这待遇啊

TOP

回复 7# 老刘1号

最后结尾处的没有排除是因为没有换行或是有空白字符,所以findstr没有匹配到
  1. powershell "gc '文本.txt'|?{$_ -notmatch '\|\d+\s*$'}"&pause
复制代码
1

评分人数

TOP

回复 26# zz100001


    你怎么知道我是女的, 加分是随机的haha, 给老刘1号也补上了
1

评分人数

TOP

回复 20# 老刘1号


    如果一个文本中,只想删选出右侧:123dfsajo,数字开头,但是里面有字母+数字的,该怎么修改

TOP

我说嘛我原来是1楼被挤到20楼了……

TOP

回复 31# 老刘1号


    对啊,合并了,哈哈,问题雷同

TOP

回复 20# 老刘1号


    这个代码是对了,140Kb的文本,处理了2分钟

TOP

返回列表