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

[文本处理] 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修改已成功
复制代码

这个有点复杂,实现的话估计得使用正则表达式。1# htldb

TOP

回复 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
复制代码

TOP

不好意思,忘记看楼主的a.txt了。

TOP

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

TOP

返回列表