中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-07-10 02:29
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 按IP执行某个命令 查看 1,032 回复 10
楼 主 按IP执行某个命令 发表于 2006-12-16 03:13 ·  中国 河南 郑州 新郑市 电信
新手上路
积分 10
发帖 4
注册 2006-12-16 02:38
19年会员
UID 73669
性别 男
状态 离线
我想让ip是62到81之间的IP执行某个命令。这个bat怎么写。
2 发表于 2006-12-16 07:04 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
19年会员
UID 59080
状态 离线

  不明白你说的意思。
3 发表于 2006-12-16 08:33 ·  中国 江苏 南京 电信
高级用户
★★
积分 623
发帖 214
注册 2006-09-22 20:48
19年会员
UID 63387
状态 离线
楼主是说在内网中,我就说在192.168.0.1为主机的内网中的吧.
for /l %%i in (62,1,81) do 你要执行的命令 192.168.0.%%i
4 发表于 2006-12-16 08:52 ·  中国 重庆 垫江县 电信
初级用户
积分 26
发帖 11
注册 2006-12-16 08:09
19年会员
UID 73697
性别 男
状态 离线
62,1,81代表什么,请教
5 发表于 2006-12-16 09:11 ·  中国 江苏 南京 电信
高级用户
★★
积分 623
发帖 214
注册 2006-09-22 20:48
19年会员
UID 63387
状态 离线
你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 发表于 2006-12-17 07:00 ·  中国 河南 郑州 新郑市 电信
新手上路
积分 10
发帖 4
注册 2006-12-16 02:38
19年会员
UID 73669
性别 男
状态 离线
回3楼的大哥。这个我在不是这个ip 段的机器运行也回运行我要运行的命令啊。
7 发表于 2006-12-17 07:03 ·  中国 河南 郑州 新郑市 电信
新手上路
积分 10
发帖 4
注册 2006-12-16 02:38
19年会员
UID 73669
性别 男
状态 离线
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 发表于 2006-12-18 02:12 ·  中国 江苏 南京 电信
高级用户
★★
积分 623
发帖 214
注册 2006-09-22 20:48
19年会员
UID 63387
状态 离线
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 发表于 2006-12-20 11:34 ·  中国 河南 郑州 新郑市 电信
新手上路
积分 10
发帖 4
注册 2006-12-16 02:38
19年会员
UID 73669
性别 男
状态 离线
那要怎么样?
10 发表于 2006-12-20 23:15 ·  中国 广东 深圳 电信
初级用户
积分 83
发帖 35
注册 2006-10-30 14:47
19年会员
UID 68886
性别 男
来自 广东
状态 离线
学习了
11 发表于 2006-12-21 01:12 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
19年会员
UID 59080
状态 离线


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

  这里应该修改一下吧:

if ip >= 63 and ip <=81 then
oshell.run "\\game\2\jwreboot.exe",1
end if
论坛跳转: