![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-12 23:20 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 这样字符串怎么替换 |
| 可打印版本 703 / 2 |
| 第1楼 zcyzzzm | 发表于 2010-01-09 17:12 |
| 初级用户 发帖 14 积分 36 | |
|
这样字符串怎么替换 @echo off
setlocal enabledelayedexpansion set "Space= " set "PH_addr=%Space%Physical Address" %'/*-----物理地址-------*/% set "IP_addr=%Space%IP Address" %'/*------IP地址(局域网)--------*/% for /f "tokens=1,* delims=." %%i in ('ipconfig /all') do ( for %%a in (PH_addr IP_addr) do ( if "%%i"=="!%%a!" set %%a=%%j ) ) Rem '/*===========对结果进行处理=========== set PH_addr=%PH_addr:*:=% set IP_addr=%IP_addr:*:=% set file="aa.txt" for %%i in ("%file%") do set file=%%~fi echo. set "replaced=$cfg['Servers'][$i]['host'] = 'localhost'" echo. set "all=$cfg['Servers'][$i]['host'] = '%IP_addr%'" for /f "delims=" %%i in ('type "%file%"') do ( set str=%%i set "str=!str:%replaced%=%all%!" echo !str!>>"%file%"_tmp.txt ) copy "%file%" "%file%"_bak.txt >nul 2>nul move "%file%"_tmp.txt "%file%" start "" "%file%" 我本意是替换aa.txt中的 $cfg['Servers'][$i]['host'] = 'localhost' 为: $cfg['Servers'][$i]['host'] = '61.191.56.15' 但是替换结果变成: 'localhost'=$cfg['Servers'][$i]['host'] = '61.191.56.15'= 'localhost'; 请问怎么处理,另外批处理能够获取服务器的ip吗 |
|
| 第2楼 HAT | 发表于 2010-01-09 19:25 |
| 版主 发帖 5,017 积分 9,023 | |
|
批处理能够获取服务器的ip
|
|
| 第3楼 zcyzzzm | 发表于 2010-01-09 19:56 |
| 初级用户 发帖 14 积分 36 | |
Originally posted by HAT at 2010-1-9 19:25: for /f "tokens=15" %%i in ('ipconfig ^| find /i "ip address"') do set ip=%%i echo %ip% ip获取是正确的,我要替换的字符串中含有“=”号,替换出现问题了 本意是替换aa.txt中的 $cfg = 'localhost' 为: $cfg = '61.191.56.15' 但是替换结果变成: 'localhost'=$cfg = '61.191.56.15'= 'localhost'; |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |