标题: 请大家帮忙修正这个脚本(请教了)
[打印本页]
作者: zhitingkey
时间: 2008-1-11 09:23
标题: 请大家帮忙修正这个脚本(请教了)
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 ]
作者: fastslz
时间: 2008-1-11 10:06
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)
作者: fastslz
时间: 2008-1-11 10:21
不好意思第2个代码漏写了个“
作者: zhitingkey
时间: 2008-1-11 10:32
这个能执行下去么`
我试过好象不行`
不能执行下一行了`
作者: fastslz
时间: 2008-1-11 10:51
不是说了吗,第2个代码漏写了个“自己修改下呀
findstr /i /x "%computername%" list.ini >nul
if errorlevel 0 (echo OK) else (exit)
作者: zhitingkey
时间: 2008-1-11 11:08
这个好象不能对比list.ini里面的计算机名哦`
我现在很头疼的就是根据对比判断是否退出`
作者: huahua0919
时间: 2008-1-11 11:15
hostname
只能列出一个机器的名字,上面按照你的方法无论如何得到的都是 "ok"
作者: fastslz
时间: 2008-1-11 11:24
@echo off
findstr /i /x "%computername%" host.ini || exit
echo 这里OK
pause
作者: zhitingkey
时间: 2008-1-11 11:32
这个是对的,原来这样`受教了`
我积分少,所以我才加了一分`
你不会有意见吧`

作者: huahua0919
时间: 2008-1-11 11:33
楼上代码可行,
不过LZ不可以用hostname >host.ini 来储存主机名
用hostname>>host.ini
不然host.ini里面主机名全部被覆盖,导致每次判断都为真!
作者: zhitingkey
时间: 2008-1-11 12:06
谢谢`
学习了`