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

[文本处理] [已解决]自动查找和替换文本内容的批处理程序

求自动查找和替换文本内容的批得理程序

想指定在指定路径下面的,如D:\Program Files\BAI_PG\BSP\CLIENT

下面有BSP.ini 下面的地址192.168.1.2 替换为:192.168.2.222

请高手帮忙谢谢

[ 本帖最后由 hnwbl 于 2009-6-8 07:49 编辑 ]
1

评分人数

    • Batcher: 感谢主动给标题标注[已解决]字样PB + 2

好像标题中这个自动查找是多余的吧(因为楼主指定了目录):
  1. @echo off&setlocal enabledelayedexpansion
  2. set "push=d:\progra~1\bai_pg\bsp\client\bsp.ini"
  3. for /f "delims=" %%a in (%push%) do (
  4.      set "str=%%a"
  5.      if not defined flag (
  6.         echo !str:192.168.1.2=192.168.2.222!>%push%
  7.         set "flag=a"
  8.         ) else (
  9.        echo !str:192.168.1.2=192.168.2.222!>>%push%
  10.      )
  11. )
  12.       
复制代码
***共同提高***

TOP

回复 2楼 的帖子

man版主:
        我刚学bat,今天看到LZ发的帖子说是自动查找和替换,可是他已经指明了路径。已经没有意义了,我想知道如果在不知道路径的情况下怎么查找并替换里面的内容?
    例如说:
lovecmd.txt文件(不知道它的路径),里面有一段内容(lovecmd):我想把内容(lovecmd)替换成(lovebat)
    请问怎么表示?
为明天奋斗

TOP

回3楼
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in ('fsutil fsinfo drives ^|find /v ""') do (
    set div=%%i
    set div=!div:~-3,3!
    fsutil fsinfo drivetype !div! | find "固定" >nul&&(
    for /f "tokens=*" %%j in ('dir /b /s !div!lovecmd.txt 2^>nul') do (
    set pat=%%~fsj
    for /f "delims=" %%a in (!pat!) do (
    set str=%%a
    set str=!str:lovecmd=lovebat!
)
)
  )
   )
echo !str!>!pat!
start "" "%pat%"

TOP

好像错了吧,现在bsp.ini 里只有

DLUsed=0

这个了呀,其它的全没有了哦,

TOP

  1. @echo off
  2. set file="D:\Program Files\BAI_PG\BSP\CLIENT\BSP.ini"
  3. for /f "tokens=1,* delims=:" %%a in ('findstr /n .* %file%') do (
  4.   if not defined clear set clear=.>%file%
  5.   set var=%%b
  6.   setlocal enabledelayedexpansion
  7.   echo;!var:192.168.1.2=192.168.2.222!>>%file%
  8.   endlocal
  9. )
复制代码
1

评分人数

TOP

非常谢谢,问题已经解决

TOP

返回列表