Board logo

标题: [求助]依据IP地址最后三位,转跳到不同语句. [打印本页]

作者: cldiyer     时间: 2006-11-11 16:13    标题: [求助]依据IP地址最后三位,转跳到不同语句.

c: cd \ if exist ipconfig.txt del ipconfig.txt ipconfig /all >ipconfig.txt if exist ip.txt del ip.txt find "IP Address" ipconfig.txt >ip.txt for /f "skip=2 tokens=15" %%I in (ip.txt) do set mac=%%I 做到这里不会做了 要实现的目的就是IP为192.168.1.1到192.168.1.100执行一个转跳 192.168.1.101到192.168.1.238执行另一个转跳 是用来虚拟磁盘IP分流用的 前100位 连接192.168.1.239 后101到238连接192.168.1.240 哪个达人帮忙……

作者: cldiyer     时间: 2006-11-11 16:14
哦顺带的加一个开始用的验证 如果F盘存在则结束 如果不存在则执行这些语句……

作者: lxmxn     时间: 2006-11-11 18:24
@echo off&&setlocal ENABLEDELAYEDEXPANSION
if exist F:\ goto :EOF
for /f "delims=: tokens=2" %%a in ('ipconfig /all ^| find /i "IP Address"') do (
	set ip=%%a&&set ip=!ip:.= !
	call :ai !ip!
)
goto :EOF

:ai	
if %4 leq 100 goto a
if %4 leq 238 goto b
echo 没有主机连接......
pause&&goto :EOF

:a
net use \\192.168.1.239\$c "" /u:"administrator"
pause&&goto :EOF

:b
net use \\192.168.1.240\$c "" /u:"administrator"
pause&&goto :EOF
     以上代码未完全测试,如有问题,请跟帖继续讨论……
[ Last edited by lxmxn on 2006-11-11 at 06:28 PM ]

作者: cldiyer     时间: 2006-11-12 01:29
谢谢,果然是达人…… 我想问的是 :ai if %4 leq 100 goto a if %4 leq 238 goto b echo 没有主机连接...... pause&&goto :EOF 这里 是1-100 101到238 lep是什么意思……如果是小于等于的话 B是不是就包括a了? 菜鸟…… 对bat知道很少的说……

作者: cldiyer     时间: 2006-11-12 01:37
@echo off e: echo **********正在断开连接********** for /l %%a in (1,1,10) do ( iscsicli sessionlist>session.isc for /f "tokens=1,3,4" %%b in (session.isc) do ( if %%b==Session ( iscsicli logouttarget 0x%%d>session.isc ) if %%b==Total ( if %%c==0 ( echo **********断开连接成功********** goto end ) ) ) ) echo off :end echo **********正在连接服务器更新游戏,请稍侯********** iscsicli AddTargetPortal 192.168.1.240 3260 iscsicli LoginTarget iqn.2005-02.com.ricecake.iscsi:00 T * * * * * * * * * * * * * * * 0 \\gameshell\up$\调用程序\原调用.exe 这个是我的iscsi的连接脚本 最后一行是连接完后调用讯闪游戏菜单…… 服务器有两个IP 一个是239 一个是240 想1-100号用239 101-238用240 IP分流 不会做……

作者: cldiyer     时间: 2006-11-12 04:16
echo off&&setlocal ENABLEDELAYEDEXPANSION if exist F:\ goto :EOF for /f "delims=: tokens=2" %%a in ('ipconfig /all ^| find /i "IP Address"') do ( set ip=%%a&&set ip=!ip:.= ! call :ai !ip! ) goto :EOF :ai if %4 leq 100 goto a if %4 geq 101 goto b echo 没有主机连接...... pause&&goto :EOF :a echo **********正在连接239更新游戏,请稍侯********** iscsicli AddTargetPortal 192.168.1.239 3260 iscsicli LoginTarget iqn.2005-02.com.ricecake.iscsi:00 T * * * * * * * * * * * * * * * 0 \\gameshell\up$\调用程序\原调用.exe goto :EOF :b echo **********正在连接240更新游戏,请稍侯********** iscsicli AddTargetPortal 192.168.1.240 3260 iscsicli LoginTarget iqn.2005-02.com.ricecake.iscsi:00 T * * * * * * * * * * * * * * * 0 \\gameshell\up$\调用程序\原调用.exe goto :EOF 搞定……问一下 如何等上一个命令处理完了后再处理下一个命令? 我想等ISCSI连接运行完毕后再连接讯闪 可以用vbs 这个bat是通过一个vbs转跳的