好的,这是情况。 我有一个非常大的文本文件,其中包含许多不同的IP地址。 我想创build一个batch file,或者任何能够完成工作的任务,以便parsing这些IP地址的所有主机名。
目前 ,我的IP地址每行存储一个名为addresses.txt的文件。
我也有以下代码的batch file:
@echo off for /f "delims=" %%a in (addresses.txt) do ping -a %%a >> PING_LOG.txt && (echo %%a Passed) || (echo %%a Failed) pause
这似乎工作正常。 它使用ping的所有结果填充我的文本文件; 主机名,回复,统计数据包等
使用另一个batch file停止batch file?
cmd脚本,如何将令牌variables(例如%% a)传递给调用
如何在使用Inno Setup进行安装和卸载时运行批处理
batch file中的文件大于4分钟
在一个Windowsbatch file中,如何找出我正在运行的凭据?
这是问题:我只想要我ping的地址和主机名写入我的输出文件。 有什么办法可以做到这一点? 通过批处理命令? 通过其他的方式(比如拿出输出文件并运行其他东西来获取信息)? 我仍然积极地想看看我能弄明白,但任何帮助将非常感激。
(最后的目标是把主机名和地址放在一个excel电子表格中,考虑到数以千计的人工操作听起来很糟糕)
我的最终解决scheme
@echo off setlocal EnableDelayedExpansion for /f "tokens=*" %%A in (addresses.txt) do ( set "_res=%%A" for /f "tokens=2" %%B in ('^(nslookup %%A ^) ^| findstr /c:"Name:"') do set "_res=!_res!,%%B" echo !_res! >> LOG.txt echo !_res! ) endlocal
感谢德米特里和重力的帮助^
接下来,我把这些数据放到电子表格(只有一列)中。 我写了一个查看每个单元格的macros脚本,使用逗号作为分隔符将数据拆分为一个string数组,然后将每个结果string并排放在一个列中(ip | name)。
Windowsbatch file中的CURL
使用batch file中的参数运行命令
recursion显示在过去45天内修改的所有文件的频率分布
如何确定驱动器是否安装了TrueCrypt?
将ping ...命令传给findstr ,然后在第二个循环中解析输出:
@echo off setlocal EnableDelayedExpansion for /f "tokens=*" %%A in (addresses.txt) do ( set "_res=%%A" for /f "tokens=2" %%B in ('^(ping -a %%A ^&^& echo --- ok^|^| echo --- Failed^) ^| findstr /c:" [" /c:"---"') do set "_res=!_res!,%%B" echo !_res! ) endlocal
对于addresses.txt
8.8.8.8 88.88.77.77
会产生
8.8.8.8,google-public-dns-a.google.com,ok 88.88.77.77,ti0150a400-1603.bb.online.no,Failed
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。