![Board logo](images/default/logo.gif)
标题: [文本处理] 批处理如何获取txt指定内容并执行? [打印本页]
作者: xiaodevps 时间: 2019-4-2 11:25 标题: 批处理如何获取txt指定内容并执行?
请教两个问题:
有一个123.txt内容是
ip6tnl0 DOWN 0.0.0.0/0 0x00000080 00:00:00:00:00:00
wlan0 UP 192.168.0.102/24 0x00001043 18:aa:bb:f0:4d:f8
tunl0 DOWN 0.0.0.0/0 0x00000080 00:00:00:00:00:00
lo UP 127.0.0.1/8 0x00000049 00:00:00:00:00:00
想用批处理,执行ping 192.168.0.102
另一个 456.txt的内容是
wlan0 Link encap:UNSPEC
inet addr:192.168.0.100 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: feaa::2ebb:31ff:feec:3dcc/64 Scope: Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
想用批处理,执行ping 192.168.0.100
不知道该如何写,请教。
作者: zaqmlp 时间: 2019-4-2 12:17
wlan0 UP和inet addr是固定的?不然,那么多ip,怎么知道你要提取哪个呀?有啥特征呀
作者: xiaodevps 时间: 2019-4-2 12:30
本帖最后由 xiaodevps 于 2019-4-2 12:32 编辑
wlan0 UP和inet addr是固定的?不然,那么多ip,怎么知道你要提取哪个呀?有啥特征呀
zaqmlp 发表于 2019-4-2 12:17 ![](http://www.bathome.net/images/common/back.gif)
是的, wlan0 up 与 inet addr: 是固定的。
作者: zaqmlp 时间: 2019-4-2 13:04
本帖最后由 zaqmlp 于 2019-4-3 10:56 编辑
- /*&cls
- @echo off
- set info=互助互利,代码可用,支付宝扫码头像,感谢赞助
- rem 有问题,加QQ956535081及时沟通
- title %info%
- start mshta VBScript:Execute("msgbox(""%info%""):close")
- cd /d "%~dp0"
- for /f %%a in ('dir /a-d/b "123.txt" "456.txt"^|cscript -nologo -e:jscript "%~f0"') do (
- ping %%a
- )
- pause&exit /b
- */
- var fso=new ActiveXObject('Scripting.FileSystemObject');
- while(!WSH.StdIn.AtEndOfStream){
- var file=WSH.StdIn.ReadLine();
- if(fso.FileExists(file)){getip(file);}
- }
- function getip(file){
- var f=fso.OpenTextFile(file,1),text='';
- text=f.ReadAll();
- var m=text.match(/(\binet\s+addr:|\bwlan0\s+UP\s+)\d+\.\d+\.\d+\.\d+/g);
- f.Close();
- for(var i=0;i<m.length;i++){WSH.echo(m[i].replace(/^.*?(?=\d+\.\d+\.\d+\.\d+)/,''))}
- }
复制代码
作者: xczxczxcz 时间: 2019-4-2 21:49
路过留个爪印,默认WIN7以上。BAT运行。- @Echo Off & CD /d "%~dp0"
- Powershell -Execution RemoteSigned ls *.txt^|%%{(gc $_) -match '^^wlan0\s*UP^|inet\s*addr'^|^
- Foreach{$_ -match '\b(^^addr:)?(\d+\.){3}\d+(/\d+$)?\b'^|Out-Null;^
- $IP=$matches[0] -Replace '/\d+^|addr:';'IP Founded: '+$IP;^
- Test-Connection -Computer $IP -count 4^|ft -a}};
- pause
复制代码
作者: xiaodevps 时间: 2019-4-3 10:31
多谢二位,zaqmlp的代码只能 ping .168.0.102 前面没有192了,所以用不了,xczxczxcz的代码可以用,谢谢。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |