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

[文本处理] 如何利用批处理替换文件夹内的字符?

比如,E盘根目录下有个1的文件夹,文件夹内有很多ini文件
我想把文件夹内所有的(包涵子目录)INI中的123替换成456,ABC替换成DEF,请问如何写,谢谢

[ 本帖最后由 lvguangmin 于 2011-2-26 22:44 编辑 ]

有没有人教一下呀,多谢了

TOP

ini文件就要考虑空行和特殊字符的情况了:
  1. @echo off
  2. cd /d e:\1\
  3. for /r %%a in (*.ini) do (
  4.      (for /f  "tokens=1* delims=:" %%b in ('findstr /n .* %%a') do (
  5.             set "str=%%c"
  6.             setlocal enabledelayedexpansion
  7.             set "str=!str:*:=!"&set "str=!str:123=456!"
  8.             echo,!str:ABC=DEF!
  9.             endlocal
  10.      ))>tem
  11.      del /q %%a&ren tem %%~nxa
  12. )
  13. echo 搞定!&pause>nul
复制代码
***共同提高***

TOP

  1. @echo off
  2. for /r "E:\1" %%a in (*.ini) do (
  3.     sed -i "s/123/456/g; s/ABC/DEF/g" "%%a"
  4. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

原帖由 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"
             ...



如果我想替换更多的字符,怎么修改呢

TOP

回复 5楼 的帖子

你难道就不想动一下脑子!我相信你只要仔细看了代码,自己也会改的!完完全全一个伸手党!
***共同提高***

TOP

返回列表