用批处理替换每个文本中的固定位置,每次替换数字都加1.
我有10个txt文件,其中每个文件都有一个字符串:x.x.x.x我要把它们替换成一个IP地址:192.168.0.x。但是每个文件中的IP地址都不一样,第一个文件就替换成...
我有10个txt文件,其中每个文件都有一个字符串:x.x.x.x 我要把它们 替换成一个IP地址:192.168.0.x 。但是每个文件中的IP地址都不一样,第一个文件就替换成192.168.0.1;第二个文件就替换成192.168.0.2; 。。。 。。。第十个文件就替换成192.168.0.10
我写了个脚本,但是就是不成功?我怀疑是这句写错了
set v=!v:x.x.x.x=192.168.0.%k%!
完正脚本如下,请大家帮帮忙,谢谢!
======================================
@echo off
setlocal Enabledelayedexpansion
for /f %%i in (site.txt) do (
set /a k=1
for /f "delims=" %%a in (G:\test\111\Ttemp-%%i.txt) do (
set v=%%a
set v=!v:x.x.x.x=192.168.0.%k%!
set /a k=!k!+1
echo !v!>>G:\test\111\开局配置脚本-%%i.txt
)
)
pause
====================================== 展开
我写了个脚本,但是就是不成功?我怀疑是这句写错了
set v=!v:x.x.x.x=192.168.0.%k%!
完正脚本如下,请大家帮帮忙,谢谢!
======================================
@echo off
setlocal Enabledelayedexpansion
for /f %%i in (site.txt) do (
set /a k=1
for /f "delims=" %%a in (G:\test\111\Ttemp-%%i.txt) do (
set v=%%a
set v=!v:x.x.x.x=192.168.0.%k%!
set /a k=!k!+1
echo !v!>>G:\test\111\开局配置脚本-%%i.txt
)
)
pause
====================================== 展开
1个回答
展开全部
当然是那一句出了问题%k%被替换为固定值了
下面代码未经测试,请先备份后测试
@echo off
setlocal Enabledelayedexpansion
for /f "tokens=1* delims=:" %%i in ('type site.txt^|findstr/n "..*"') do (
rem 如果site.txt里放的只是主名那么先把它改为带后缀的完整文件名
for /f "usebackq delims=" %%a in ("%%j") do (
if not "%%a"=="" (
set v=%%a
set v=!v:x.x.x.x=192.168.0.%%i!
echo.!v!>>"%%j.tem"
)
)
del "%%j"
ren "%%j.tem" "%%j"
)
pause
下面代码未经测试,请先备份后测试
@echo off
setlocal Enabledelayedexpansion
for /f "tokens=1* delims=:" %%i in ('type site.txt^|findstr/n "..*"') do (
rem 如果site.txt里放的只是主名那么先把它改为带后缀的完整文件名
for /f "usebackq delims=" %%a in ("%%j") do (
if not "%%a"=="" (
set v=%%a
set v=!v:x.x.x.x=192.168.0.%%i!
echo.!v!>>"%%j.tem"
)
)
del "%%j"
ren "%%j.tem" "%%j"
)
pause
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询