标题: [文本处理] [已解决]批处理有空格时如何替换? [打印本页]
作者: smith203 时间: 2011-3-20 11:27 标题: [已解决]批处理有空格时如何替换?
一个文本文件
你他娘的是谁?他娘的我不告诉你。
你他娘的到底是谁?我他娘的还就不告诉那个他娘的你。
我把“他娘的”替换为“TND", 可以用以下代码- for /f %%i in (a.txt) do (
- set v=%%i
- call echo %%v:他娘的=TMD%%
- )>>2.txt
复制代码
但如果每行前面有空格, 请问代码该怎么写?
A 你他娘的是谁?他娘的我不告诉你。
B 你他娘的到底是谁?我他娘的还就不告诉那个他娘的你。
谢谢了。
作者: CrLf 时间: 2011-3-20 11:31
for /f "delims=" %%a in ......
作者: andyrave 时间: 2011-3-20 11:40
本帖最后由 andyrave 于 2011-3-20 11:44 编辑
- @echo off & setlocal enableDelayedExpansion
- set file=1.txt
- set "file=%file:"=%"
- for %%i in ("%file%") do set file=%%~fi
- rem replaced=空格
- set replaced=
- set all=
- for /f "delims=" %%i in ('type "%file%"') do (
- set str=%%i
- set "str=!str:%replaced%=%all%!"
- echo !str!>>"%file%"_tmp.txt
- )
- move "%file%"_tmp.txt "%file%" 1>nul 2>nul
复制代码
作者: smith203 时间: 2011-3-20 12:10
for /f "delims=" %%a in ......
zm900612 发表于 2011-3-20 11:31
已经搞定, 谢谢。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |