我刚刚(在过去的24小时内)开始学习如何创建批处理文件,以帮助自动完成一些繁琐的任务。
这个项目的目的是能够检查特定站点的多台计算机上的连接,而无需手动ping每台计算机
我正在试图弄清楚如何制作一个将执行以下操作的批处理文件。
询问用户“您正在使用哪个站点?”
用户输入网站ID
询问用户“您要ping哪台计算机?”
用户输入计算机编号(这是棘手的部分)
显示每个dns名称的ping结果
注意:整个DNS名称将类似于123tmnpc111。 tmnpc部分将始终相同,只有前缀和后缀会有所不同
因此,当执行ping时,它需要类似
ping %siteid%tmnpc%pcid1% -n 1 -w 2000
ping %siteid%tmnpc%pcid2% -n 1 -w 2000
ping %siteid%tmnpc%pcid3% -n 1 -w 2000
这是我在ping一个DNS名称时测试的简单方法。但我不知道如何使这个工作适用于多个(和可变的)DNS名称。
@echo off
echo Which Site Are You Working On?
echo/
set /p siteid=">> "
echo/
echo Which Computers Do You Want To Ping?
echo/
set /p pcid=">> "
echo/
cls
ping %siteid%pc%pcid% -n 1 -w 2000
pause > nul
如果有人能指出我正确的方向,我将不胜感激。 谢谢
答案 0 :(得分:1)
使用for
循环处理列表
set /p "siteid=Which Site Are You Working On? >> "
echo Which Computers Do You Want To Ping?
set /p "pcid=Which Computers Do You Want To Ping? >> "
for %%a in (%pcid%) do (
ping %siteid%pc%%a -n 1 -w 2000
)
pause > nul
计算机列表可以用逗号或空格(或混合)分隔。