中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请教,如何判断输入IP地址是否正确
作者:
标题: 请教,如何判断输入IP地址是否正确 上一主题 | 下一主题
sxdownloads
新手上路





积分 3
发帖 3
注册 2010-5-9
状态 离线
『楼 主』:  请教,如何判断输入IP地址是否正确

大家先看下这段代码,然后我再提问。关于windows下的Messenger发送信息的批处理。


@echo off
COLOR 0A
TITLE 信息发送工具
:home
echo.
ECHO  ………………………………………………………………………………………………………
ECHO  *                              请选择要执行的操作                            *
ECHO  ………………………………………………………………………………………………………
ECHO  *                                                                            *
ECHO  *   1)单一发送                                                               *
ECHO  *   2)群体发送                                                               *
ECHO  *   0)退出                                                                   *
ECHO  *                                                                            *
ECHO  ………………………………………………………………………………………………………
echo.
set choice=""
set /p choice=请输入选择项:
if /I "%choice%"=="1" goto :D
if /I "%choice%"=="2" goto :Q
if /I "%choice%"=="0" (exit) else (
echo.
echo 输入有误,请按任意键重新输入
pause>nul
cls
goto home)

:D
set IP=""
set /p ip=请输入需要发送的IP地址:
set bv=内控部提醒您:今天您自查了吗?
if /p %ip%="**.**.***.***" (goto send) else (                  
echo.
echo %ip% 不是标准的IP格式,请按任意键重新输入
pause>nul
goto D)

:Q
set IP=""
set /p ip=请输入需要发送的IP地址:
set bv=内控部提醒您:今天您自查了吗?

:send
net send %ip% %bv%
pause
cls
goto home











问题1

    这个位置如果判断IP输入规则是否合正确,麻烦大侠帮我修改,我不会写了。

:D
set IP=""
set /p ip=请输入需要发送的IP地址:
set bv=内控部提醒您:今天您自查了吗?
if /p %ip%="**.**.***.***" (goto send) else (                  
echo.
echo %ip% 不是标准的IP格式,请按任意键重新输入
pause>nul
goto D)



问题2
     我想通过已经编辑好的另一文本文件里读取所有IP,并一起发送信息,请教应该如何写???

:Q
set IP=""
set /p ip=请输入需要发送的IP地址:
set bv=内控部提醒您:今天您自查了吗?


该文本里的存储格式为:
192.168.0.1
192.168.0.2
192.168.0.3

[ Last edited by sxdownloads on 2010-5-13 at 15:30 ]

2010-5-13 15:22
查看资料  发送邮件  发短消息 网志  OICQ (81238788)  编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 2 楼』:  

你的代码没看,只回答问题。
问题1:
@echo off
:D
set ip=&set n=&set m=
set/p ip=请输入需要发送的IP地址:
set "ip_=%ip:.=;%"
for %%a in (%ip_%) do (
set/a n+=1
if %%a gtr 255 set m=1
if %%a lss 0 set m=1
)
if %n% neq 4 set m=1
if %m%==1 (                  
echo.
echo %ip% 不是标准的IP格式,请按任意键重新输入
pause>nul
goto:D
)
问题2:
for /F %%a in (a.txt) do echo.%%a




批处理之家 http://bbs.bathome.net/forum-5-1.html
2010-5-13 20:26
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
sxdownloads
新手上路





积分 3
发帖 3
注册 2010-5-9
状态 离线
『第 3 楼』:  

再麻烦问下,
问题1可以给我个完整代码吗?因为你给的代码中好像没有“set bv=内控部提醒您:今天您自查了吗?”这段和“goto send”这两段代码,应该加在什么位置??


问题2只需要加这一段代码就行吗???应该加在什么位置

2010-5-13 21:39
查看资料  发送邮件  发短消息 网志  OICQ (81238788)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: