求一个批处理代码

我有这样一组代码:将指定的动态域名(暂时假设为aaa.bbb.com)解析出来的IP地址以"ip+空格+abcd”的格式写入hosts文件例如解析出来的ip是61.139... 我有这样一组代码:
将指定的动态域名(暂时假设为 aaa.bbb.com )解析出来的IP地址以" ip + 空格 + abcd”的格式写入hosts文件
例如解析出来的ip是61.139.5.44
那么写入hosts文件的格式为: 61.139.5.44 abcd
代码如下:

@echo off

for /f "tokens=2 delims=[]" %%a in ('ping aaa.bbb.ccc^|find /i "["') do set "ip=%%a"

if defined ip echo %ip% abcd>>C:\WINDOWS\system32\drivers\etc\hosts

现在请您帮忙再帮忙添加一段代码实现如下功能:
1、如果获取到了aaa.bbb.ccc的ip就删除hosts文件中原来的那一段" ip + 空格 + abcd"的代码并写入新获取到的" ip + 空格 + abcd"的代码,并提示:“恭喜,修改完成,按任意键关闭。”
2、如果没获取到aaa.bbb.ccc的ip就提示“抱歉本次没获取到ip,请联系管理员。按任意键关闭该窗口。”
展开
 我来答
ljrlili
2013-11-26 · TA获得超过892个赞
知道小有建树答主
回答量:594
采纳率:50%
帮助的人:319万
展开全部
@echo off&setlocal enabledelayedexpansion
rem ym=要解析的域名
rem hosts=hosts文件存储位置
rem tph=临时交换文件,可不改
set ym=bb.com
set hosts=C:\WINDOWS\system32\drivers\etc\hosts
set tph=2.txt
echo -------------------------------------------------------------------
echo 正在解析域名 %ym% ,请稍候...
echo -------------------------------------------------------------------
for /f "tokens=2 delims=[]" %%a in ('ping %ym%^|findstr /i "["') do set "ip=%%a"
if defined ip (
if exist %tph% del /q %tph%
for /f "delims=" %%a in (%hosts%) do (
for /f "tokens=1* delims=:" %%i in ('call echo %%a^|findstr /v /i "%ym%"') do Echo %%a>>"%tph%"
)
Echo %ip% %ym%>>"%tph%"
color 0a
copy /y %tph% %hosts%
if exist %tph% del /q %tph%
echo -------------------------------------------------------------------
echo 域名:%ym%,地址:%ip%,添加至hosts成功
) else (
color 06
echo 域名:%ym%,对应地址无法找到!!!
)
echo -------------------------------------------------------------------
pause
AiPPT
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图... 点击进入详情页
本回答由AiPPT提供
albumin
2013-11-25 · TA获得超过1.2万个赞
知道大有可为答主
回答量:4889
采纳率:87%
帮助的人:2375万
展开全部
@echo off
 for /f "tokens=2 delims=[]" %%a in ('ping aaa.bbb.ccc^|find /i "["') do set "ip=%%a"
pushd C:\WINDOWS\system32\drivers\etc\hosts
if defined ip (
(for /f "delims=" %%a in (hosts) do (
echo %%a|findstr "abcd$">nul&&echo %ip% abcd||echo %%a
))>temphost
move /y temphost hosts
echo  恭喜,修改完成,按任意键关闭。
) else ( echo 抱歉本次没获取到ip,请联系管理员。按任意键关闭该窗口。)
popd
pause&exit
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式