Board logo

标题: 请教,如何判断输入IP地址是否正确 [打印本页]

作者: sxdownloads     时间: 2010-5-13 15:22    标题: 请教,如何判断输入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 ]

作者: Hanyeguxing     时间: 2010-5-13 20:26
你的代码没看,只回答问题。
问题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

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


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