中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-19 11:52
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请教,如何判断输入IP地址是否正确 查看 1,127 回复 2
楼 主 请教,如何判断输入IP地址是否正确 发表于 2010-05-13 15:22 ·  中国 山西 吕梁 联通
新手上路
积分 3
发帖 3
注册 2010-05-09 11:08
UID 166442
性别 男
状态 离线
大家先看下这段代码,然后我再提问。关于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 ]
2 发表于 2010-05-13 20:26 ·  中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
你的代码没看,只回答问题。
问题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
3 发表于 2010-05-13 21:39 ·  中国 山西 太原 联通
新手上路
积分 3
发帖 3
注册 2010-05-09 11:08
UID 166442
性别 男
状态 离线
再麻烦问下,
问题1可以给我个完整代码吗?因为你给的代码中好像没有“set bv=内控部提醒您:今天您自查了吗?”这段和“goto send”这两段代码,应该加在什么位置??


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