Board logo

标题: [文本处理] 批处理过滤字符串中的“=”号,谁有更好的办法? [打印本页]

作者: 悬崖之树    时间: 2012-9-7 21:47     标题: 批处理过滤字符串中的“=”号,谁有更好的办法?

我的是这样:
  1. @echo off&setlocal enabledelayedexpansion
  2. del b.txt 2>nul
  3. for /f "delims=" %%i in (a.txt) do (
  4. set str=%%i
  5.         for /f "tokens=1,2,3,4,5,6,7,8 delims==" %%a in ("!str!") do (
  6.                 echo %%a%%b%%c%%d%%e%%f%%g%%h>>b.txt
  7. )
  8. )
  9. type b.txt
  10. pause
复制代码

作者: FOR    时间: 2012-9-7 22:00

sed                                
作者: QIAOXINGXING    时间: 2012-9-7 22:33

本帖最后由 QIAOXINGXING 于 2012-9-7 23:06 编辑

http://www.bathome.net/thread-5548-1-1.html
  1. @echo off
  2. set "str=22=44=44=33==11=00=99=="
  3. :lp
  4. for /f "tokens=1* delims==" %%a in ("%str%") do (
  5.   set "str=%%a%%b"
  6.   if "%%b" neq "" goto lp
  7. )
  8. echo %str%
  9. pause
复制代码

作者: CrLf    时间: 2012-9-8 02:12

个人比较倾向与其他脚本混编,优势互补
  1. @echo off
  2. echo WScript.Echo Replace(WScript.Stdin.ReadAll,"=","")>r.vbs
  3. cscript /nologo r.vbs<%0
  4. pause
  5. =:=:=:=:=
  6. =:=:=:=
  7. =:=:=
  8. =:=
  9. =
复制代码
批的简洁与其他脚本完备的函数库是绝配~




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