批处理如何读取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时就终止某程序的运行,不知道批处理能否实现,希望能写出批处理的例子,谢谢。 展开
 我来答
们八味0g
2013-08-17 · TA获得超过721个赞
知道小有建树答主
回答量:144
采纳率:0%
帮助的人:61.6万
展开全部

批处理能实现,也很简单,但请问你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 。。。


不懂追问。。。

sudoku52
2013-08-17 · TA获得超过7万个赞
知道大有可为答主
回答量:1.2万
采纳率:82%
帮助的人:4883万
展开全部
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文件贴上来看看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式