标题: [文本处理] 批处理怎样替换文本内容并递增其数字? [打印本页]
作者: dunian 时间: 2011-6-5 20:16 标题: 批处理怎样替换文本内容并递增其数字?
修改3个bat文件中的内容,如下:
Router1.bat文件的内容:
REM ----------Created by Xiaofan----------
@echo off
title Router1-----Created by Xiaofan
mkdir Router1
cd Router1
:reload
..\dynamips-wxp.exe -T 2001 -P 3600 -r 96 -t 3640 -c 0x2102 -p 0:NM-1FE-TX -p 1:NM-4T -s 1:1:udp:11111:127.0.0.1:11211 ..\C3640-IS.BIN --idle-pc=0x61008314
goto reload
Router2.bat文件的内容:
REM ----------Created by Xiaofan----------
@echo off
title Router2-----Created by Xiaofan
mkdir Router2
cd Router2
:reload
..\dynamips-wxp.exe -T 2002 -P 3600 -r 96 -t 3640 -c 0x2102 -p 0:NM-1FE-TX -p 1:NM-4T -s 1:1:udp:11211:127.0.0.1:11111 -s 1:0:udp:11210:127.0.0.1:11310 ..\C3640-IS.BIN --idle-pc=0x61008314
goto reload
Router3.bat文件的内容:
REM ----------Created by Xiaofan----------
@echo off
title Router3-----Created by Xiaofan
mkdir Router3
cd Router3
:reload
..\dynamips-wxp.exe -T 2003 -P 3600 -r 96 -t 3640 -c 0x2102 -p 0:NM-1FE-TX -p 1:NM-4T -s 1:0:udp:11310:127.0.0.1:11210 -s 1:2:udp:11312:127.0.0.1:11411 ..\C3640-IS.BIN --idle-pc=0x61008314
goto reload
将以上3个bat文件中标有红色部位的-T更改为“-I 1 –T”,其中的1要递增,也就是router1.bat中是“-I 1 –T” ,router2.bat中是“-I 2 –T”以此类推Router3.bat便是3。
求助各位大虾帮忙写一个批处理把bat中的内容如上要求修改掉哦!本人是小小菜鸟,实在想不出其他办法修改了!~~~先谢谢各位跟楼帮助我的兄弟姐妹了哦~~祝你们端午节快乐!~
作者: Batcher 时间: 2011-6-5 21:10
能否帮顶楼的图片改成文字?
作者: dunian 时间: 2011-6-5 21:19
2# Batcher
呵呵~~谢谢!是文字了,请帮忙~~
作者: 随风 时间: 2011-6-5 21:24
去掉“跪求”二字,认真看下版规。 http://www.bathome.net/thread-963-1-1.html
作者: Batcher 时间: 2011-6-5 21:25
- @echo off
- setlocal enabledelayedexpansion
- set n=0
- for %%a in ("Router?.bat") do (
- set /a n+=1
- sed -i "s/-T/-I !n! &/" "%%a"
- )
复制代码
http://bbs.bathome.net/thread-3981-1-1.html
作者: dunian 时间: 2011-6-5 21:37
4# 随风
呵呵~~不好意思哦!已经改了~~谢谢!
作者: dunian 时间: 2011-6-5 21:40
5# Batcher
貌似无效哦!不能更改~~纠结!还是谢谢哦~~
作者: Batcher 时间: 2011-6-5 22:16
7# dunian
你有sed.exe吗?什么版本?
作者: dunian 时间: 2011-6-5 23:06
8# Batcher
用sed可以,请问不用sed行吗?因为有些电脑并不一定有这个!
作者: batman 时间: 2011-6-6 01:00
- @echo off&setlocal enabledelayedexpansion
- for %%a in (*.bat) do (
- set /a n+=1
- for /f "delims=" %%b in (%%a) do (
- set "str=%%b"
- (for /f "tokens=2" %%b in ("!str!") do (
- if "%%c" equ "-T" (
- for %%d in (!n!) do echo !str: %%c = -I %%d - T !
- ) else (
- echo !str!
- )
- ))>$
- move $ %%a
- )
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |