对文本文件中的每个 IP 地址进行 ping 操作?

对文本文件中的每个 IP 地址进行 ping 操作?

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

computerA
computerB
computerC
...

是否可以创建一个批处理文件来 ping 所有这些计算机?实际上 ping 是一个很大的输出。我不需要time或其他信息;我只是想知道是否可以访问。有什么想法吗?


现在它正常工作了!问题就像 fox 所说的那样,我将批处理文件命名为 ,ping.bat而 ping 也是一个命令,所以这不起作用。我重命名了我的批处理文件,现在一切都正常了。

答案1

尝试这个:

@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" ' )

答案2

@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]

答案3

建议使用 powershell,这比传统的 ping 更快,这是 cmd,

如果您想了解更多详细信息,请参阅此处https://tech3motion.com/powershell-cmd-to-ping-list-of-servers-ip/

$InputFile = 'C:\Temp\MachineList.txt'
$machines = Get-content $InputFile

foreach ($machine in $machines){
 if (Test-Connection -ComputerName $machine -Count 1 -ErrorAction SilentlyContinue){
   Write-Host "$machine,up" -ForegroundColor Green
 }
 else{
   Write-Host "$machine,down" -ForegroundColor Red
     } 
 }

答案4

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

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

HellFires Pingtest v1.0

相关内容