找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 25285|回复: 5

[文本处理] 批处理删除txt文件中两特定字符之间的字符

[复制链接]
发表于 2013-7-3 08:50:28 | 显示全部楼层 |阅读模式
请教各位大神,如何用批处理命令删除两个特定字符串之间的字符?
比如a.txt中:
The great world serves us with food, life and everything.
we are going to shock the world with our virtue and wisdom!


如何删除with和and之间的字符,并同时删除and?

恳请各位不吝赐教!
发表于 2013-7-3 14:29:16 | 显示全部楼层
本帖最后由 terse 于 2013-7-3 14:45 编辑
  1. @echo off
  2. for /f "delims=" %%i in (a.txt) do (
  3.         set str=%%i
  4.         setlocal enabledelayedexpansion
  5.         if "!str: and =!" neq "%%i" if "!str: with =!" neq "%%i" (
  6.                 for %%j in (%%i) do if "!with!" == "" (
  7.                         set "s=!s! %%j"
  8.                         set %%j=w
  9.                 )
  10.                 set "str=!s:~1! !str:* and =!"
  11.         )
  12.         echo !str!
  13.         endlocal
  14. )
  15. pause
复制代码
 楼主| 发表于 2013-7-3 14:49:00 | 显示全部楼层
感谢terse
试过,可以用。
如果我还想在删除with和and之间内容的同时删除and,该怎么改?
不好意思,我是菜鸟。希望terse能帮忙!
发表于 2013-7-3 14:57:29 | 显示全部楼层
提高点效率 但文件一行里含两个with 不好处理 文件里也不含有W才可以
  1. @echo off
  2. for /f "delims=" %%i in (a.txt) do (
  3.         set str=%%i
  4.         setlocal enabledelayedexpansion
  5.         if "!str: and =!" neq "%%i" if "!str: with =!" neq "%%i" (
  6.                 set str=!str: with = withW!
  7.                 for /f "delims=W" %%j in ("!str!") do (
  8.                         set "str=%%j !str:* and =!"
  9.                 )
  10.         )
  11.         echo !str!
  12.         endlocal
  13. )
  14. pause
复制代码
发表于 2013-7-3 14:59:57 | 显示全部楼层
本帖最后由 terse 于 2013-7-3 15:01 编辑

回复 3# weifanan
and 不是删除了吗 你指的是那个AND、

处理后的 and 是删除的
The great world serves us with everything.
we are going to shock the world with wisdom!
 楼主| 发表于 2013-7-3 15:11:52 | 显示全部楼层
太感谢了!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 09:21 , Processed in 0.018557 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表