中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]问一个net use错误回显后无法继续的问题
作者:
标题: [求助]问一个net use错误回显后无法继续的问题 上一主题 | 下一主题
linamong
新手上路




积分 16
发帖 6
注册 2008-2-18
状态 离线
『楼 主』:  [求助]问一个net use错误回显后无法继续的问题

很抱歉
不知道怎么形容问题和举例子(主要是我举例子的时候,测试是正确的)
:qunfak
@echo off
cls
color 27
echo     群发例子(192.168.5.13-192.168.5.50)
echo     前三位:192.168.5
echo     后一位起始:13
echo     后一位结束:50
set /p ipq=    请输入IP前三位:
set /p iph1=    请输入IP后一位起始:
set /p iph2=    请输入IP后一位结束:
if /I "%ipq%"=="menu" goto Start
if /I "%ipq%"=="主菜单" goto Start
if /I "%iph1%"=="menu" goto Start
if /I "%iph1%"=="主菜单" goto Start
if /I "%iph2%"=="menu" goto Start
if /I "%iph2%"=="主菜单" goto Start
::检测IP正确性
set ip=%ipq%.%iph1%
echo %ip%|findstr "^[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*$">nul||goto fail
set _ip=%ip:.= %
call :check %_ip%
:check
if "%4"=="" goto fail
for %%i in (%1 %2 %3 %4) do (
if %%i gtr 255 goto fail
)
set ip=%ipq%.%iph2%
echo %ip%|findstr "^[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*$">nul||goto fail
set _ip=%ip:.= %
call :check %_ip%
:check
if "%4"=="" goto fail
for %%i in (%1 %2 %3 %4) do (
if %%i gtr 255 goto fail
)
goto fasong
:fail
goto iperror3

:fasong
cls
color 27

if %iph1% EQU %iph2% goto iperror3
if %iph1% LSS %iph2% goto ttt
echo     由于起始位大于结束位,程序自动交换.
set jh=%iph1%
set iph1=%iph2%
set iph2=%jh%
:ttt
echo     需要群发的IP为%ipq%.%iph1%--至--%ipq%.%iph2%
echo     ===============================群发输入框===============================
Set /p liaotian2=    输入消息内容(可以输入选项命令,如menu):
if /I "%liaotian2%"=="menu" goto Start
if /I "%liaotian2%"=="主菜单" goto Start
if /I "%liaotian2%"=="" goto kong2

:jixufs
echo 机房辅助工具,群发日志%time%:>群发日志.log
set ip=%ipq%.%iph1%
echo     正在向%ip%发送消息...
set /a iph1+=1
if /i %iph1% GTR %iph2% (
echo 群发消息完成 >>群发日志.log
echo 该日志尚未保存,需要保存请手动保存. >>群发日志.log
echo %date:~0,10% >>群发日志.log
start 群发日志.log
ping -n 2 127.1>nul
del /q 群发日志.log
goto start
)
echo. >>群发日志.log
echo 正在发送消息给%ip% >>群发日志.log
net send %ip% %liaotian2% >nul 2>nul 1>>群发日志.log
net use Z: /d >nul 2>nul 1
net use Z: "\\%ip%\C$\Documents and Settings\Administrator\桌面">nul 2>nul 1
if not exist Z:\机房辅助工具.exe goto tishi2
net use Z: /d >nul
goto jixufs
:tishi2
copy 机房辅助工具.exe Z:\ >nul 2>nul 1
net send %ip% 系统提示:已在桌面创建=机房辅助工具= >nul 2>nul 1
echo     已在对方桌面创建=机房辅助工具=>>群发日志.log
net use Z: /d >nul
)

goto fasong

:iperror3
color 47
echo.
echo                               ======error!!!======
echo                               =  输入的IP不合法  =
echo                               = ★按任意键返回★ =
echo                               ====================
pause>nul
goto qunfak
错误应该是在net use Z: "\\%ip%\C$\Documents and Settings\Administrator\桌面">nul 2 >nul
为什么这个错误了(就是不存在这个IP或这个IP禁用网络的时候)整个都不能继续?  期待有人帮忙解决
学习中,代码很粗陋,别见笑.

[ Last edited by linamong on 2008-4-26 at 10:27 PM ]

2008-4-26 22:15
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
linamong
新手上路




积分 16
发帖 6
注册 2008-2-18
状态 离线
『第 2 楼』:  

哦  明白了net use Z: "\\%ip%\C$\Documents and Settings\Administrator\桌面">nul 2 >nul

一旦IP不正确,或不存在,会等很久,误以为是卡住了(有20秒之久呀)

能快么?

2008-4-26 22:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
abcd
银牌会员





积分 1436
发帖 739
注册 2007-10-11
状态 离线
『第 3 楼』:  

建议在net use之前,先ping下这个IP,正确了再net use

2008-4-26 23:07
查看资料  发短消息 网志  OICQ (470237592)  编辑帖子  回复  引用回复
linamong
新手上路




积分 16
发帖 6
注册 2008-2-18
状态 离线
『第 4 楼』:  

对哦,ping了就可以了.
由于是初学,ping  后怎么返回对与否,我先自己开动搜索引擎先,不会再回来问问哦.

2008-4-27 12:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
linamong
新手上路




积分 16
发帖 6
注册 2008-2-18
状态 离线
『第 5 楼』:  

ping www.baidu.com &&echo ping得通 ||echo PING不通!
pause

找到了,结贴了

2008-4-27 13:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: