![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-15 12:42 |
共 47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,268 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 技术探讨:编写批处理程序来ping一定ip段内存活主机 |
| 可打印版本 8,001 / 20 |
| 第16楼 redtek | 发表于 2006-12-29 00:03 |
| 金牌会员 发帖 1,147 积分 2,902 | |
|
多谢lxmxn鼓励~:)
回PPdos兄: %~s0 就是批处理自己的名字。更详细内容见 For /? 帮助的最后一部分帮助内容:) Start %~s0 用Start运行批处理文件自身(相当于又运行了一个“自己”,与当前正在运行的自身无关)。 %1 参数,批处理运行时所带入的参数。 如果 Copy a.txt d:\ 的命令执行时,则Copy命令后面加的参数: a.txt 就相当于 %1 , d:\就相当于%2 关于 && 与 || 等操作在下面的贴子非常全面的列表~:) DOS 符号的问题 (详见第4楼) http://www.cn-dos.net/forum/viewthread.php?tid=24289&fpage=1 关于%1应用在判断/开关等更复杂的操作以及参数次序的问题,下面贴子很精彩~:) 批处理参数问题一点谈 http://www.cn-dos.net/forum/viewthread.php?tid=17785 其它的内容可能有与之相关的,在下面的一个索引贴子里~:) [简单索引]SET变量、延时变量、各种符号的用法 http://www.cn-dos.net/forum/viewthread.php?tid=24549&fpage=1&highlight=%E7%AE%80%E5%8D%95 [ Last edited by redtek on 2006-12-28 at 11:05 AM ] |
|
| 第17楼 lxmxn | 发表于 2006-12-29 00:05 |
| 版主 发帖 4,938 积分 11,386 | |
Originally posted by PPdos at 2006-12-28 10:26: 都是基础啊…… 1、%1 代表运行某程序的第一个参数。 2、start 不是不支持长文件名,而是运行带有空格路径的程序一般会出错,加上%~s0,得到的是程序的短路径,这样,就不会在路径中出现 空格或者其它特殊的符号以致于start命令的运行失败。 3、&& 的作用是前面的命令运行成功之后才执行后面的命令,所以当ping成功了才写内容到文件中,基本上是可以判断存活主机的。 |
|
| 第18楼 lxmxn | 发表于 2006-12-29 00:06 |
| 版主 发帖 4,938 积分 11,386 | |
|
啊,我又慢了兄一步了,呵呵,看来要努力了~ |
|
| 第19楼 007dna1 | 发表于 2008-12-03 01:04 |
| 新手上路 发帖 15 积分 19 | |
Originally posted by redtek at 2006-12-27 02:41 AM: 第一句 if == (Goto:Start) else (Goto:Ping) 符号"”的作用是??? |
|
| 第20楼 007dna1 | 发表于 2008-12-03 01:05 |
| 新手上路 发帖 15 积分 19 | |
Originally posted by redtek at 2006-12-27 02:41 AM: 第一句 if == (Goto:Start) else (Goto:Ping)中 符号"”的作用是??? [ Last edited by 007dna1 on 2008-12-3 at 01:06 ] |
|
| 第21楼 007dna1 | 发表于 2008-12-03 01:16 |
| 新手上路 发帖 15 积分 19 | |
Originally posted by PPdos at 2006-12-27 03:37 AM: 加上红色的那部分代码。。。用ping命令在每打开10个窗口的时候延时一下。。。应该就可以了 @echo off if == (Goto :Start) else (Goto :Ping) :Start setlocal EnableDelayedexpansion set a=0 echo.ScanTime:%time%>ip.txt&&set "ip=61.149.20" for /L %%i in (1,1,254) do (Start %~s0 %ip%.%%i&set /a a=%%i%%10&if !a!==0 ping -n 2 127.0.0.1>nul) endlocal Goto :eof :Ping ping %1 -n 1 -w 1 >nul&&echo %1 - OK!>>ip.txt exit [ Last edited by 007dna1 on 2008-12-3 at 01:19 ] |
|
| 上一页 1 2 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |