标题: [文本处理] 如何利用批处理替换文件夹内的字符? [打印本页]
作者: lvguangmin 时间: 2011-2-26 22:35 标题: 如何利用批处理替换文件夹内的字符?
比如,E盘根目录下有个1的文件夹,文件夹内有很多ini文件
我想把文件夹内所有的(包涵子目录)INI中的123替换成456,ABC替换成DEF,请问如何写,谢谢
[ 本帖最后由 lvguangmin 于 2011-2-26 22:44 编辑 ]
作者: lvguangmin 时间: 2011-2-27 15:11
有没有人教一下呀,多谢了
作者: batman 时间: 2011-2-27 16:01
ini文件就要考虑空行和特殊字符的情况了:- @echo off
- cd /d e:\1\
- for /r %%a in (*.ini) do (
- (for /f "tokens=1* delims=:" %%b in ('findstr /n .* %%a') do (
- set "str=%%c"
- setlocal enabledelayedexpansion
- set "str=!str:*:=!"&set "str=!str:123=456!"
- echo,!str:ABC=DEF!
- endlocal
- ))>tem
- del /q %%a&ren tem %%~nxa
- )
- echo 搞定!&pause>nul
复制代码
作者: Batcher 时间: 2011-2-27 16:11
- @echo off
- for /r "E:\1" %%a in (*.ini) do (
- sed -i "s/123/456/g; s/ABC/DEF/g" "%%a"
- )
复制代码
作者: lvguangmin 时间: 2011-3-1 14:13
原帖由 batman 于 2011-2-27 16:01 发表
ini文件就要考虑空行和特殊字符的情况了:@echo off
cd /d e:\1\
for /r %%a in (*.ini) do (
(for /f "tokens=1* delims=:" %%b in ('findstr /n .* %%a') do (
set "str=%%c"
...
如果我想替换更多的字符,怎么修改呢
作者: batman 时间: 2011-3-1 14:58 标题: 回复 5楼 的帖子
你难道就不想动一下脑子!我相信你只要仔细看了代码,自己也会改的!完完全全一个伸手党!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |