中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-06 00:18
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 判断对就显示不对就运行 查看 781 回复 7
楼 主 判断对就显示不对就运行 发表于 2007-09-29 17:59 ·  中国 广东 广州 花都区 电信
初级用户
★★
积分 197
发帖 77
注册 2006-09-19 14:02
19年会员
UID 63074
性别 男
状态 离线
@echo off
set /p ip=输入IP地址
for /f "tokens=1,2 delims= " %%i in (test.txt) do (
if %ip%==%%i (echo %ip% %%j)

test.txt
192.168.0.4 00-1C-F1-00-65-7F
192.168.0.238 00-1C-F1-00-68-84
192.168.0.42 00-1C-F1-00-69-54
192.168.0.41 00-1C-F1-00-97-80
192.168.0.22 00-1C-F1-00-68-80

判断输入的IP跟test里的IP相同就现实所对应的ip和mac,要是不相同就运行下一步......要怎样写??
2 发表于 2007-09-29 18:10 ·  中国 天津 电信
银牌会员
★★★
积分 1,928
发帖 931
注册 2007-01-06 11:46
19年会员
UID 75624
性别 男
状态 离线
运行下一步???什么意思?哪一步??

楼主的意思是:在test.txt里查找与输入IP相同的行??

还是??
3 发表于 2007-09-29 18:19 ·  中国 广东 广州 花都区 电信
初级用户
★★
积分 197
发帖 77
注册 2006-09-19 14:02
19年会员
UID 63074
性别 男
状态 离线
输入一个IP
要是在test里存在输入的IP就显示 存在IP 要是在test里没有输入的IP就显示 IP错误重新输入
4 发表于 2007-09-29 18:25 ·  中国 天津 电信
银牌会员
★★★
积分 1,928
发帖 931
注册 2007-01-06 11:46
19年会员
UID 75624
性别 男
状态 离线
@echo off
set /p ip=输入IP地址:
findstr /i "\<%ip%\>" test.txt>nul 2>nul&&findstr /i "\<%ip%\>" test.txt||echo IP输入错误!
pause
5 发表于 2007-09-29 18:41 ·  中国 广东 广州 花都区 电信
初级用户
★★
积分 197
发帖 77
注册 2006-09-19 14:02
19年会员
UID 63074
性别 男
状态 离线
根据输入的 IP和MAC...更改对应的IP和MAC....意思就是我输入一个 192.168.0.4 00-1C-F1-00-67-8E 要是test里存在192.168.0.4这个IP就将192.168.0.4 00-1C-F1-00-67-8E 替换test里的192.168.0.4 00-1C-F1-00-65-7F
6 发表于 2007-09-29 18:46 ·  中国 天津 电信
银牌会员
★★★
积分 1,928
发帖 931
注册 2007-01-06 11:46
19年会员
UID 75624
性别 男
状态 离线
自己搜吧,论坛里蛮多类似的。
7 发表于 2007-09-29 18:59 ·  中国 湖南 娄底 电信
银牌会员
★★★
积分 2,268
发帖 879
注册 2006-12-19 16:23
19年会员
UID 73968
性别 男
状态 离线

@echo off
:lis
set str=0
set /p var=请输入:
for /f "tokens=1* delims= " %%a in ("%var%") do set var1=%%a
for /f "tokens=1* delims= " %%c in (test.txt) do (
if "%var1%"=="%%c" echo %%c 存在&set str=1
if "%var1%"=="%%c" (echo %var%>>_test.txt) else echo %%c %%d>>_test.txt
)
if "%str%"=="0" cls&&echo 输入错误&&goto lis
del/q test.txt
ren _test.txt test.txt
致精致简!
8 发表于 2007-09-30 01:05 ·  中国 广东 广州 花都区 电信
初级用户
★★
积分 197
发帖 77
注册 2006-09-19 14:02
19年会员
UID 63074
性别 男
状态 离线
问题解决拉...谢拉...7楼的代码我有段看不懂的??
if "%var1%"=="%%c" (echo %var%>>_test.txt) else echo %%c %%d>>_test.txt
中的else 的意思不是 if "%var1%"=="%%c" (echo %var%>>_test.txt)不成立才执行echo %%c %%d>>_test.txt 吗??
论坛跳转: