Board logo

标题: [急]求下列功能的一个批处理!!! [打印本页]

作者: wfyinghun     时间: 2009-12-11 15:07    标题: [急]求下列功能的一个批处理!!!

服务器共享一个文件,路径为\\server\password\password.txt,里面的内容如下:(第一列IP地址,第二列密码,第三列标示符)
192.168.1.2        aa2222        1
192.168.1.3        aa3333        1
192.168.1.4        aa4444        0
192.168.1.5        aa5555        1
192.168.1.6        aa6666        0
192.168.1.7        aa2222        1
192.168.1.8        aa3333        0
192.168.1.9        aa4444        0
192.168.1.10        aa5555        1
192.168.1.11        aa6666        1
192.168.1.12        aa3333        1
192.168.1.13        aa4444        0
192.168.1.14        aa5555        1
192.168.1.15        aa6666        1
192.168.1.16        aa2222        1
192.168.1.17        aa3333        0
192.168.1.18        aa4444        1
192.168.1.19        aa5555        0
192.168.1.20        aa6666        1
现求一个批处理,此批处理放在客户端,实现的功能如下:
第一步:先读出自己的IP地址,再根据自己的IP地址去服务器的password.txt查找对应的IP地址,网络不通或找不到password.txt文件提示错误信息并跳到第三步执行。找到的话执行第二步

第二步:读出相应的标示符,如果是1,则提示输入密码,并将用户输入的密码与文本中的密码列比较,密码正确执行A命令,错误退出;如果标示是0,则不需要输入密码直接执行A命令。

第三步:在本机上也放置一个password.txt,格式如下:
192.168.1.2                1
192.168.1.3                1
192.168.1.4                0
192.168.1.5                1
192.168.1.6                0
192.168.1.7                1
192.168.1.8                0
192.168.1.9                0
192.168.1.10                1
192.168.1.11                1
192.168.1.12                1
读出标示,如果为1则执行B命令;如果为0则退出。

麻烦那位高手不吝赐教!
作者: yhp1996     时间: 2009-12-11 21:49    标题: 看不懂

讲简单些
作者: Hanyeguxing     时间: 2009-12-12 06:58

@echo off&setlocal enabledelayedexpansion
for /f "tokens=1,2,* delims=.: " %%i in ('Ipconfig') do if /i "%%i"=="IP" set "IP=%%k"
copy \\server\password\password.txt xing.txt
if errorlevel 1 echo 出错&goto ye
for /f "tokens=1,2,3" %%i in ('findstr /b "%IP%" xing.txt') do (set han=%%j
if "%%k"=="0 (a.exe) else (
set /p gu=请输入密码
if "!gu!"=="!han!" (a.exe) else exit
))
goto :eof
:ye
for /f "tokens=1,2" %%i in ('findstr /b "%IP%" c:\password.txt) do if "%%j"=="1" (b.exe) else exit
本代码未经测试,请自行验证!

[ Last edited by Hanyeguxing on 2009-12-12 at 23:09 ]
作者: wfyinghun     时间: 2009-12-12 21:45    标题: 有点问题

代码似乎有些问题:
我调试了下,发现有个问题!
for /f %%i in ('findstr /b "%IP%" xing.txt') do (set han=%%j这里的%%j和%%k都不能显示出来,只有%%i能显示出来
作者: Hanyeguxing     时间: 2009-12-12 23:10

@echo off&setlocal enabledelayedexpansion
for /f "tokens=1,2,* delims=.: " %%i in ('Ipconfig') do if /i "%%i"=="IP" set "IP=%%k"
copy \\server\password\password.txt xing.txt
if errorlevel 1 echo 出错&goto ye
for /f "tokens=1,2,3" %%i in ('findstr /b "%IP%" xing.txt') do (set han=%%j
if "%%k"=="0 (a.exe) else (
set /p gu=请输入密码
if "!gu!"=="!han!" (a.exe) else exit
))
goto :eof
:ye
for /f "tokens=1,2" %%i in ('findstr /b "%IP%" c:\password.txt) do if "%%j"=="1" (b.exe) else exit
你看看这个