找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 25211|回复: 4

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

[复制链接]
发表于 2014-3-2 23:54:47 | 显示全部楼层 |阅读模式
我想实现通过手动输入变量来替换文本中的内容,我写了下面的代码,但是考虑到文本中的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修改已成功
复制代码
发表于 2014-4-1 23:36:29 | 显示全部楼层
这个有点复杂,实现的话估计得使用正则表达式。1# htldb
发表于 2014-4-2 09:13:22 | 显示全部楼层
回复 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
复制代码
发表于 2014-4-2 12:59:04 | 显示全部楼层
不好意思,忘记看楼主的a.txt了。
发表于 2014-4-2 13:00:26 | 显示全部楼层
不好意思忘看a.txt了
3# DAIC
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 03:11 , Processed in 0.015319 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表