batch-file - ping所有本地IP地址的批处理文件
问题描述
我一直在自学批处理脚本,但我似乎无法让它工作。
我想要一个 .bat ping 本地网络上的所有 IP 地址,然后将所有活动 IP 打印到 .txt 文件。
@ECHO OFF
REM This script pings all IPAdresses on an Xfinity Router.
::v1.0 - BTE - 24FEB19
::
FOR /L %i (1,1,254) DO
ping -n 1 10.0.0.%i
到目前为止,这是我所拥有的,但我不知道如何让可 ping 的 IP 打印到 .txt。
任何帮助表示赞赏!
B.
解决方案
尝试这个:
::@ECHO OFF
REM This script pings all IPAdresses on an Xfinity Router.
::v1.0 - BTE - 24FEB19
::
FOR /L %%i in (1,1,254) DO ping -n 1 10.0.0.%%i | findstr "ms" && (echo 10.0.0.%%i)>>"pingable_ips.txt"
for
批处理文件中的变量应该使用%%
. (在cmd
提示时使用 single%
)- 循环内容需要在一对括号内,或在
for
. - 你需要
in
在for
变量之后。 - 当你在测试时,不要使用
@echo off
。
这里我使用了ms
回复信息中的作为信号,你可以根据你的情况改变它。
您也可以将循环放在一对括号内:
FOR /L %%i in (1,1,254) do (
ping -w 77 -n 1 10.0.0.%%i | findstr "ms" && (echo 10.0.0.%%i)>>"pingable_ips.txt"
)
pause
因此,您可以在循环内(括号内)添加其他内容。
增加了-w
超时开关,加快速度,本地ip很快,可以增加时间。
检查for /?
、ping /?
和findstr /?
更多信息。
推荐阅读
- python - 循环遍历 .xlsx 文件的目录,将每个文件中的一张表中的数据附加到数据框
- security - 在 PHP 中安全地将数据发送到不同的服务器
- java - 如何为从多个表连接的对象定义 Ignite Cache
- android - 回到被破坏的活动后,RecyclerView 变空
- r - 在 R 中,当您不知道所有数据集中有多少列时,如何提取列?
- javascript - 如何设置 Svelte 项目以从 TS 导入组件?
- python - 在 Jupyter 笔记本中使用 Geopy - 我的 lambda 查询不起作用
- c - 带有字符和常量数组的 if 语句的 SSE Intrinsics
- c++ - Xerces-C++ XMLString::patternMatch() 无法正常运行
- repository - 您如何使用正确的参数调用 reposync 来指定您关心的一系列 CentOS 版本并排除其他版本?