ping文本文件中的每个IP地址?


9

假设我在这里有一个带有一些计算机名称的文本文件(每行== 1个名称):

computerA
computerB
computerC
...

是否可以创建对所有这些计算机执行ping操作的批处理文件?实际上,ping是一个很大的输出。我不需要time或其他信息;我只是想知道可及与否。有任何想法吗?


现在正在工作!问题就像fox所说,我将批处理文件命名为,ping.bat而ping也是命令,因此无法解决。我重命名了批处理文件,现在一切正常。


1
查看for命令,尤其是文件解析模式。
Damien_The_Unbeliever

Answers:


12

尝试这个:

@echo off
for /f "delims=" %%a in (computerlist.txt) do ping -n 1 %%a >nul && (echo %%a ok) || (echo %%a failed to respond) 
pause

如果必须使用带空格或奇数字符的文件名或路径,请(computerlist.txt)使用( ' type "c:\folder\computer file.txt" ' )


我看到cmd很快弹出,然后消失了。即使最后有暂停或睡眠,我也看不到任何输出。
sabisabi

尝试上面包含OK响应的已编辑代码。

完全没有变化,这很奇怪。我复制与您在其中发布的文本完全相同的代码(好,更改文件名),然后将其保存为.bat,然后启动.bat文件-> cmd弹出,然后消失了。任何输出。我正在使用Win XP,这可能是个问题吗?
sabisabi

您的路径\文件名可能包含空格。代替(computerlist.txt)使用('type“ c:\ folder \ computer file.txt”')

3
那是你的错 始终记住,命名批处理文件时应避免使用命令名称。在您的情况下,批处理文件中的ping命令正在执行ping批处理文件,而不是ping命令。

4
@Echo OFF

For /F "Usebackq Delims=" %%# in (
    "List.txt"
) do (
    Echo+
    Echo [+] Pinging: %%#

    Ping -n 1 "%%#" 1>nul && (
        Echo     [OK]) || (
        Echo     [FAILED])
)

Pause&Exit

输出:

[+] Pinging: www.google.com
    [OK]

[+] Pinging: ffff
    [FAILED]

启动.bat时,我看到输出[+] Ping:computerA,但是窗口消失了。
sabisabi

您是否按原样对我的脚本进行了语音处理,没有进行任何更改?
ElektroStudios 2013年

好吧,我更改了文件的名称,仅此而已
sabisabi

@sabisabi:从现有命令提示符下“手动”启动批处理文件,您将能够读取错误消息。不要“双击”您必须测试的批处理文件。
a_horse_with_no_name 2013年

@a_horse_with_no_name如果我通过cmd(ping.bat)启动.bat文件->没有新窗口,并且我的cmd正在关闭而没有任何消息
sabisabi 2013年

1

您可能希望查看的替代方法是使用PowerShell:

cls;
ForEach ($targetComputer in (Get-Content C:\installs\computerlist.txt)) {
    if (Test-Connection -ComputerName $targetComputer -Count 1 -Quiet) {
        "$targetComputer - Ping OK"
    } else {
        "$targetComputer - Ping FAIL"
    }
}

替换C:\ Installs \ ComputerList.txt的内容,您就可以离开了:)

在此处输入图片说明


0

我创建了一个ping工具,该工具使用配置文件来设置要ip ping的IP,并最多创建12个cmd窗口并将它们并排放置在屏幕上。每个窗口的标题中都有一个描述,也来自配置文件。

它会自动检测您的屏幕尺寸,但目前仅支持1920x1080和1600x900。您可以手动创建更多分辨率。有关信息,请参见credits.txt。

地狱火Pingtest v1.0


0

您可以尝试使用我开发的工具ccmd来帮助完成类似的任务,它针对多个目标运行任何终端命令,目标可以在csv文本文件中给出,例如:
#这是一条注释行
#目标,说明,命令(默认 -ping )
8.8.8.8
1.1.1.1
#in下面的命令{target}将被8.8.4.4
8.8.4.4 替换为google DNS,ping -n 1 -w 500 {target}
192.168.1.0/30,我的子网
bbc.com,这是bbc新闻网站

将上述文件保存在name.txt中,并使用-s选项将脚本指向该文件,默认情况下,如果未提供其他命令,它将运行ping命令。
使用以下
命令运行它:ccmd.exe -s name.txt -b 10 -c 30
显示该输出: https : //i.stack.imgur.com/23zxQ.png

使用python编写的脚本,但具有ccmd.exe版本,可以直接在Windows上运行。默认情况下,details命令记录保存在./LOG/文件夹中的输出。

资料来源:https : //github.com/apraksim/ccmd

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.