Answers:
尝试这个:
@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" ' )
@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]
您可能希望查看的替代方法是使用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的内容,您就可以离开了:)
我创建了一个ping工具,该工具使用配置文件来设置要ip ping的IP,并最多创建12个cmd窗口并将它们并排放置在屏幕上。每个窗口的标题中都有一个描述,也来自配置文件。
它会自动检测您的屏幕尺寸,但目前仅支持1920x1080和1600x900。您可以手动创建更多分辨率。有关信息,请参见credits.txt。
您可以尝试使用我开发的工具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
for
命令,尤其是文件解析模式。