小弟写了一个判断本机IP是否在txt文件列表里面的批处理,代码如下:
总是无法达到想要的效果,即使我在ht.txt里面写的就是本机IP,也无法执行:yes里面的语句。执行结果如下。
C:\>a
C:\>(
goto :no
)
C:\>(
)
i= 10.10.37.186
j= 10.10.37.186
no----------
C:\>
我怀疑是find出来的本机IP (%%i变量) 后面带了个回车,导致比对的时候判断失败。请教有没有什么办法去掉后面的回车来进行比对?
另外用goto语句跳转,有没有办法带个参数,类似 call :yes %%i 这样?
[ Last edited by szweiw on 2009-9-7 at 06:19 ]
@for /f "tokens=15" %%i in (' ipconfig ^| find "IP Address" ') do (
@for /f %%j in (c:\ht.txt) do (
@echo i= %%i
@echo j= %%j
@if %%i==%%j (
goto :yes
)
)
goto :no
)
@goto :eof
:yes
@echo yes+++++++++++
@goto :eof
:no
@echo no----------
@goto :eof
总是无法达到想要的效果,即使我在ht.txt里面写的就是本机IP,也无法执行:yes里面的语句。执行结果如下。
C:\>a
C:\>(
goto :no
)
C:\>(
)
i= 10.10.37.186
j= 10.10.37.186
no----------
C:\>
我怀疑是find出来的本机IP (%%i变量) 后面带了个回车,导致比对的时候判断失败。请教有没有什么办法去掉后面的回车来进行比对?
另外用goto语句跳转,有没有办法带个参数,类似 call :yes %%i 这样?
[ Last edited by szweiw on 2009-9-7 at 06:19 ]


