批处理如何读取TXT里保存的ip地址作为参数
现在想用批处理来进行ip对比来执行程序,1.txt里保存着一个ip:31.12.20.1,然后我指定如果ip不是为31.12.20.1时就终止某程序的运行,不知道批处理能...
现在想用批处理来进行ip对比来执行程序,1.txt里保存着一个ip:31.12.20.1,然后我指定如果ip不是为31.12.20.1时就终止某程序的运行,不知道批处理能否实现,希望能写出批处理的例子,谢谢。
展开
2个回答
展开全部
批处理能实现,也很简单,但请问你1.txt 的ip已经确定。然后你通过什么方式指定IP呢??
你指定了IP 我才能拿这个IP去和 1.txt里的IP 去比较。
比如下边这个例子:
@echo off&setlocal enabledelayedexpansion
for /f "tokens=*" %%a in (1.txt) do (set ip=%%a)
set /p newip=Please input a new IP:
if "%newpw%" neq "%pw%" taskkill /f /IM "xxx.exe"
解释一下,1.txt中 存31.12.20.1
代码for语句读取1.txt 将31.12.20.1 赋给 ip
此时ip=31.12.20.1
set /p newip 用户输入IP 赋给 newip
如果newip 不等于 ip 那么 结束 一个 程序的 进程。。。。
追问
不是这意思,就是假设1.txt为88.20.20.20,然后我在批处理里指定的ip是31.12.20.1,然后两个ip对比,这时1.txt的ip不为31.12.20.1 然后终止某程序,能否再写一条当1.txt的ip为31.12.20.1时就运行某程序,谢谢。另外1.txt里面的ip由于软件生产问题导致ip的开头带了一个空格,这样如何读取ip?
追答
@echo off&setlocal enabledelayedexpansion
set ip=31.12.20.1
for /f "delims=" %%a in (1.txt) do (
set newip=%%a
set newip=!newip: =!
)
if "%newip%" neq "%ip%" (
taskkill /f /im "XXX.exe"
)else (
pushd x:\xx\xx
start xxx.exe
)
根据你的要求,批处理指定IP为第二行显示的:set ip=31.12.20.1
然后读取1.txt ,已经做了去空格处理并把值赋给newip
newip和ip做比对,不一样 结束XXX.EXE程序, 一样 则start xxx.exe 。。。
不懂追问。。。
展开全部
rem 假设要终止的程序是记事本 notepad.exe
@echo off
set p=notepad.exe
for /f "tokens=2 delims=:: " %%i in (1.txt) do set ip=%%i
ipconfig|findstr %ip%||taskkill /f /im %p%
追问
我想指定ip写进批处理里,还有读取的txt里ip参数由于其他软件的原因造成是有空格的,怎么解决?如何读取有空格的ip参数?
追答
只要txt里格式是固定的就好办,最好把你txt文件贴上来看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询