批处理文件 - 循环 ping - 输出到已启动的文件主机

2023-12-12

我想制作一个 .bat 文件,它将执行如下所示的 for 循环:

@echo off
FOR /L %%G IN (1, 1, 69) DO (
    ping -n 1 192.168.%%G.3 
    ping -n 1 192.168.%%G.4
)

然后查看输出并仅将成功回复 ping 的 IP 发送到 txt 文件。这可以通过 CMD 批处理文件实现吗?


@ECHO OFF
SET output=%USERPROFILE%\output.txt
IF EXIST "%output%" DEL "%output%"
FOR /L %%G IN (1, 1, 69) DO (
    CALL :ping 192.168.%%G.3
    CALL :ping 192.168.%%G.4
)
GOTO :EOF

:ping
ping -n 1 %1 >NUL && ECHO %1>>"%output%"

基本上,你使用&&添加仅当前一个命令(之前的命令)时才执行的命令&&)成功完成(从技术上讲,返回退出代码0).

对于相反的情况也有类似的方法。如果您想对命令的不成功结果执行某些操作,您可以输入||之后是执行您的操作的命令。

EDIT

关于的一则注释ping。有时您会从路由器收到主机不可访问的通知。在这种情况下ping仍然退出0代码(“成功”),因为它确实得到了回复,即使它来自路由器而不是来自实际主机。

如果您的主机出现这种情况,并且您不希望输出文件中出现此类误报,则必须解析以下内容的输出ping对于一些指示 ping 是否确实成功的关键字。到目前为止,您可以依赖显示汇总统计信息的行:它们仅在回复来自预期主机时才会出现。

所以,这是替代方法:

@ECHO OFF
SET output=%USERPROFILE%\output.txt
IF EXIST "%output%" DEL "%output%"
FOR /L %%G IN (1, 1, 69) DO (
    CALL :ping 192.168.%%G.3
    CALL :ping 192.168.%%G.4
)
GOTO :EOF

:ping
ping -n 1 %1 | find "Approximate round trip" >NUL && ECHO %1>>"%output%"

EDIT 2

将两种解决方案更改为使用子例程调用,以避免过早扩展%ip%在 - 的里面for环形。 (也可以通过启用延迟扩展来修复。)

还引用了%output%到处。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

批处理文件 - 循环 ping - 输出到已启动的文件主机 的相关文章

随机推荐

  • 在 Linux 中使用 C、C++ 发出系统命令

    我知道在 DOS Windows 应用程序中 您可以使用以下行从代码发出系统命令 system pause or system myProgram exe 来自 stdlib h 是否有类似的 Linux 命令 如果有 我会在哪个头文件中找
  • Django 模型类和自定义属性

    今天我遇到了一个奇怪的问题 我在 Django 中有一个模型类 并向其中添加了一个自定义属性 该属性不应保存到数据库中 因此在模型结构中不具有代表性 class Category models Model groups models Man
  • 如何在 Bootstrap 中将导航栏内容居中

    我正在学习 Bootstrap 4 导航栏 但我无法清楚地理解如何在导航栏中定位对象我希望将搜索框放置在导航栏的中心并在右侧放置一个按钮 但我只能做到这一点导航栏没有得到居中对齐 div class collapse navbar coll
  • QTabBar奇怪的线条不消失

    I have created this interface 我的问题是 如何使用我的样式表摆脱那条过时的行 黑框 objectname mainTabBarWidget QWidget 垂直布局 它有固定的高度 38px 并从左到右包含这些
  • Order by Clause 与访问中的 unique 冲突?

    请帮助我解决这个问题 因为我无法解决这个问题 当尝试执行此语句时 SELECT distinct grade FROM tblStudents ORDER BY Val grade grade 访问告诉我ORDER BY clause Va
  • javaFX 进度条更新崩溃

    我的应用程序中出现了 JavaFX jdk 1 8 0 91 上的一个非常严重的错误 其中显示并更新了几个进度条 随机或同时 有时 特别是当进度条被填满时 它有一个进度条的样式类 但有时也在什么都没有的情况下 软件块和我有这个跟踪出现几次
  • 实现解析器函子

    为 Brent Yorgey 的 2013 年 UPenn 工作class家庭作业 如下newtype exists newtype Parser a Parser runParser String gt Maybe a String 我正
  • Steam API 身份验证

    在开始之前 我要声明我对 OpenID 一无所知 我什至不想做 OpenID 的用途 但我想人们会提到它 但这不是我想要的 我有软件 该软件要求用户在注册时提供其 Steam 用户名 他们不通过 Steam 登录 只是提供他们的用户名 以便
  • C++ - 2 个类 1 个文件

    假设我想要这样的东西 在一个 cpp源文件 class A public void doSomething B b class B public void doSomething A a 无论如何 是否可以在不将其分成两个单独的文件的情况下
  • 使用 Flexslider 进行哈希 URL 导航

    我正在构建一个使用 flexslider 的网站 但我想实现一些 URL 哈希导航 根据 URL 的哈希值 我计划获取要显示的幻灯片的索引 最接近的方法是查看手动导航的代码 其中单击的元素的索引等于滑动 slider controlNav
  • Chrome 扩展程序将外部 javascript 添加到当前页面的 html

    我通过 chrome 扩展将一些外部 JavaScript 添加到页面末尾 然后 外部 JavaScript 尝试将一些数据发送回服务器 但这并没有发生 JavaScript 想要获取当前页面的 url 和引荐来源网址并将其发布回服务器 谁
  • 秒表基准测试可以接受吗?

    是否有人使用过秒表基准测试 或者应该始终使用性能工具 有没有什么好的免费 Java 工具 你使用什么工具 为了澄清我的担忧 由于操作系统调度 秒表基准测试可能会出现错误 在程序的给定运行中 操作系统可能会在您正在计时的函数中间安排另一个 或
  • 使用COM端口读取/写入数据的批处理脚本

    我需要编写一个可以读取和写入 COM 端口 在我的例子中为 COM1 的批处理脚本 我知道我可以使用以下命令将数据发送到 COM 端口 echo hello gt COM1 我可以使用读取进入文本文件的数据 type COM1 gt sam
  • Webpack 中的“publicPath”有什么作用?

    Webpack 文档声明output publicPath is The output path从 JavaScript 的角度来看 您能详细说明一下这实际上意味着什么吗 I use output path and output filen
  • NSURLErrorDomain错误-1021

    我正在开发一个应用程序 我集成了保管箱 登录正确完成 我也可以在 dropBox 中创建文件夹 但是当我尝试加载文件时出现错误 我收到以下错误 error making request to 1 files put dropbox Info
  • 我应该在服务器上使用什么 WooCommerce API?

    我正在编写一个脚本来批量更改产品属性 例如价格 重量和尺寸 我需要直接在安装了 WordPress 4 7 2 和 WooCommerce 2 6 13 的服务器上运行脚本 我能想到的选项对我来说似乎并不理想 WooCommerce 非 R
  • 请帮助我在我的 Java 应用程序中过滤掉 Apache Log4j 的第三方日志记录

    我正在使用第三方 jar 它们将自己的日志附加到我的 Java 应用程序的日志文件中 我不想将这些第三方日志附加到我的日志文件中 因为这会使日志文件非常笨拙和混乱 我知道这个方法 log4j logger org springframewo
  • JS 删除前导零

    在 JavaScript 中 我想删除小数位和后面的零 比如我原来的号码 0 00558 我想留下 558 这可能吗 如果有方法的话 我也在使用 AngularJS 您可以通过简单的正则表达式替换来做到这一点 var number 0 00
  • 矩阵取子集

    考虑以下矢量资源和矩阵团队 向量 res 代表索引 我需要只提取那些索引号在向量 res 中且性别 F 的名称 我需要在 R 中执行此操作 由于我是 R 的新手 无法解决此问题 res 1 2 12 16 5 6 19 17 14 9 4
  • 批处理文件 - 循环 ping - 输出到已启动的文件主机

    我想制作一个 bat 文件 它将执行如下所示的 for 循环 echo off FOR L G IN 1 1 69 DO ping n 1 192 168 G 3 ping n 1 192 168 G 4 然后查看输出并仅将成功回复 pin