假设我这里有一个包含一些计算机名称的文本文件(每行 == 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。