中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请大家帮忙修正这个脚本(请教了)
作者:
标题: 请大家帮忙修正这个脚本(请教了) 上一主题 | 下一主题
zhitingkey
初级用户





积分 84
发帖 32
注册 2007-9-17
来自 湖北
状态 离线
『楼 主』:  请大家帮忙修正这个脚本(请教了)

hostname>host.ini
set /p host=<host.ini
del host.ini
for /f %%i in (list.ini) do "%host%"=="%%i" (echo OK) else (exit)
我想做到的是,在list.ini文件里的计算机名对比,存在的则执行下一条命令`不存在则推出`
当然这个list.ini文件有很多的计算机名`
对比能做到,但是不能判断是否退出`
也许是太多了吧`
真的不知道该怎么写了`
麻烦大家帮忙想想`

[ Last edited by zhitingkey on 2008-1-11 at 09:25 AM ]

2008-1-11 09:23
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 2 楼』:  

hostname执行结果和%computername%有区别吗?
hostname>host.ini
set /p host=<host.ini
del host.ini
find  /i /x "%host%" list.ini >nul
if errorlevel 0 (echo OK) else (exit)
没区别
findstr /i /x %computername%" list.ini >nul
if errorlevel 0 (echo OK) else (exit)




第一高手    第二高手

2008-1-11 10:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 3 楼』:  

不好意思第2个代码漏写了个“



第一高手    第二高手

2008-1-11 10:21
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zhitingkey
初级用户





积分 84
发帖 32
注册 2007-9-17
来自 湖北
状态 离线
『第 4 楼』:  

这个能执行下去么`
我试过好象不行`
不能执行下一行了`

2008-1-11 10:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 5 楼』:  

不是说了吗,第2个代码漏写了个“自己修改下呀
findstr /i /x "%computername%" list.ini >nul
if errorlevel 0 (echo OK) else (exit)




第一高手    第二高手

2008-1-11 10:51
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zhitingkey
初级用户





积分 84
发帖 32
注册 2007-9-17
来自 湖北
状态 离线
『第 6 楼』:  

这个好象不能对比list.ini里面的计算机名哦`
我现在很头疼的就是根据对比判断是否退出`

2008-1-11 11:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
huahua0919
银牌会员




积分 1608
发帖 780
注册 2007-10-7
状态 离线
『第 7 楼』:  

hostname
只能列出一个机器的名字,上面按照你的方法无论如何得到的都是 "ok"

2008-1-11 11:15
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 8 楼』:  

@echo off
findstr /i /x "%computername%" host.ini || exit
echo 这里OK
pause

   此帖被 +1 点积分    点击查看详情   
评分人:【 zhitingkey 分数: +1  时间:2008-1-11 11:31




第一高手    第二高手

2008-1-11 11:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zhitingkey
初级用户





积分 84
发帖 32
注册 2007-9-17
来自 湖北
状态 离线
『第 9 楼』:  

这个是对的,原来这样`受教了`
我积分少,所以我才加了一分`
你不会有意见吧`

2008-1-11 11:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
huahua0919
银牌会员




积分 1608
发帖 780
注册 2007-10-7
状态 离线
『第 10 楼』:  

楼上代码可行,
不过LZ不可以用hostname >host.ini 来储存主机名
用hostname>>host.ini
不然host.ini里面主机名全部被覆盖,导致每次判断都为真!

2008-1-11 11:33
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
zhitingkey
初级用户





积分 84
发帖 32
注册 2007-9-17
来自 湖北
状态 离线
『第 11 楼』:  

谢谢`
学习了`

2008-1-11 12:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: