中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-24 07:22
47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,274 会员排行
DOS批处理 & 脚本技术(批处理室) » 按IP执行某个命令
可打印版本  1,129 / 10
第1楼 mmw1 发表于 2006-12-16 03:13
新手上路 发帖 4 积分 10
按IP执行某个命令
我想让ip是62到81之间的IP执行某个命令。这个bat怎么写。
第2楼 lxmxn 发表于 2006-12-16 07:04
版主 发帖 4,938 积分 11,386

  不明白你说的意思。
第3楼 tianzizhi 发表于 2006-12-16 08:33
高级用户 发帖 214 积分 623
楼主是说在内网中,我就说在192.168.0.1为主机的内网中的吧.
for /l %%i in (62,1,81) do 你要执行的命令 192.168.0.%%i
第4楼 honyfox 发表于 2006-12-16 08:52
初级用户 发帖 11 积分 26
62,1,81代表什么,请教
第5楼 tianzizhi 发表于 2006-12-16 09:11
高级用户 发帖 214 积分 623
你for /?就知道了
FOR /L %variable IN (start,step,end) DO command [command-parameters]

该集表示以增量形式从开始到结束的一个数字序列。
因此,(1,1,5) 将产生序列 1 2 3 4 5,(5,-1,1) 将产生
序列 (5 4 3 2 1)。
第6楼 mmw1 发表于 2006-12-17 07:00
新手上路 发帖 4 积分 10
回3楼的大哥。这个我在不是这个ip 段的机器运行也回运行我要运行的命令啊。
第7楼 mmw1 发表于 2006-12-17 07:03
新手上路 发帖 4 积分 10
On Error Resume Next
set shell=createobject("wscript.shell")
Set oShell = WScript.CreateObject("WScript.Shell")
set fso=createobject("scripting.filesystemobject")
shell.run "cmd /c ipconfig | find ""IP Address. . . . . . . . . . . ."">tmp",0,1
set file=fso.opentextfile("tmp")
if file.atendofstream then
file.close
fso.deletefile("tmp")
wscript.echo "no!"
wscript.quit
end if
ip=file.readline
file.close
fso.deletefile("tmp")
ip=right(ip,4)
if ip >= 63 then
oshell.run "\\game\2\jwreboot.exe",1
Else If ip <= 81 then
oshell.run "\\game\2\jwreboot.exe",1
end if
end if
这个是我的写的vbs。在不是62到81的这个ip 段里运行这个vbs 也会执行这个命令。各位dx看看是那里错了。
第8楼 tianzizhi 发表于 2006-12-18 02:12
高级用户 发帖 214 积分 623
Originally posted by mmw1 at 2006-12-17 07:03:
if ip >= 63 then
oshell.run "\\game\2\jwreboot.exe",1
Else If ip <= 81 then
oshell.run "\\game\2\jwreboot.exe",1
"

这一句是肯定错的,这样的话不管是任何整数,都会满足这个条件,所以楼主会说在不是这个段的ip也会执行,如:84吧,ip>=63成立,所以执行,如,4吧,ip<=81成立,所有执行,这样你明白了吧.
ip>=63和ip<=81关系应是并,而不是或.
if ip>=63
if ip<=81 then oshell.run "\\game\2\jwreboot.exe",1
第9楼 mmw1 发表于 2006-12-20 11:34
新手上路 发帖 4 积分 10
那要怎么样?
第10楼 daitu3 发表于 2006-12-20 23:15
初级用户 发帖 35 积分 83 来自 广东
学习了
第11楼 lxmxn 发表于 2006-12-21 01:12
版主 发帖 4,938 积分 11,386


if ip >= 63 then
oshell.run "\\game\2\jwreboot.exe",1
Else If ip <= 81 then
oshell.run "\\game\2\jwreboot.exe",1
end if
end if

  这里应该修改一下吧:
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023