标题: [急]求下列功能的一个批处理!!!
[打印本页]
作者: 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
你看看这个