Board logo

标题: [文本处理] BAT批处理如何使用变量替换文本中的内容(内容也不同)? [打印本页]

作者: htldb    时间: 2014-3-2 23:54     标题: BAT批处理如何使用变量替换文本中的内容(内容也不同)?

我想实现通过手动输入变量来替换文本中的内容,我写了下面的代码,但是考虑到文本中的IP地址也是变量,
所以这个执行一次,下次就不能在用了,所想请教下是否有更好的办法。
PS:IP地址第一个值是固定的1.*.*.*
  1. @echo off&setlocal enabledelayedexpansion
  2. set /p q=请输入IP地址:
  3. echo 正在修改a.bat.............
  4. for /f "delims=" %%i in (a.bat) do (set a=%%i&echo !
  5. a:1.1.1.1=%q%!>>a.txt)
  6. del /q a.bat
  7. ren a.txt a.bat
  8. echo a.bat修改已成功
复制代码

作者: wangxiaodong    时间: 2014-4-1 23:36

这个有点复杂,实现的话估计得使用正则表达式。1# htldb
作者: DAIC    时间: 2014-4-2 09:13

回复 2# wangxiaodong


不需要
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "NewIP="
  4. set /p NewIP=请输入IP地址:
  5. echo 正在修改a.bat.............
  6. (for /f "delims=" %%i in (a.bat) do (
  7.     set a=%%i
  8.     if "!a:ftp -s=!" neq "!a!" (
  9.         set OldIP=!a:*ftpfile =!
  10.         call echo %%a:!OldIP!=!NewIP!%%
  11.     ) else (
  12.         echo,%%i
  13.     )
  14. ))>a.txt
  15. move /y a.txt a.bat
  16. echo a.bat修改已成功
  17. pause
复制代码

作者: wangxiaodong    时间: 2014-4-2 12:59

不好意思,忘记看楼主的a.txt了。
作者: wangxiaodong    时间: 2014-4-2 13:00

不好意思忘看a.txt了
3# DAIC





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2