2017-06-20 95 views
0

好日子执行Ping和使用nbtstat -a使用批处理文件

我在一家公司的IT具有非常大量的计算机指令,所以它恰好有大量的DNS的问题。

我想一个批处理文件写入到

  1. 提示输入主机名
  2. ping主机
  3. 上,平安返回
  4. 显示的IP地址执行的nbtstat -a屏幕上的两个结果

至今,我尝试这种代码:

@echo off 
Set /p host= "Hostname: " 
ping %host%>> C:\Ping.txt 

感谢

+0

你尝试过什么,以及如何有你试过失败了怎么办?理想情况下,您应该提供您尝试过的[最小,完整和可验证的示例](https://stackoverflow.com/help/mcve),并包含有关失败的具体信息,包含错误消息和/或错误的输出。 SO不是代码写入服务;最好的问题是提供有用信息的问题,以便那些回答问题的人可以指导你设计自己的正确答案。参见[如何提出一个好问题](https://stackoverflow.com/help/how-to-ask)。 –

+0

好了,因为我的批处理文件的能力都相当小,到目前为止,我做了这一点: 关闭@echo 套装/ P主机= “主机名:” 坪%主机%>> C:\ Ping.txt 但遇到问题想弄清楚如何隔离IP地址以将其放在变量上并执行nbtstat – JohnnyHG

+0

代码没有进入注释。请修改您的问题以反映提供的其他信息。 –

回答

0

这应该做到这一点:

@echo off 
set /p hostname="> " 
ping %hostname% 
for /f "delims=[] tokens=2" %%# in ('ping -n 1 %hostname%') do nbtstat -a %%#&goto a 
:a 
+0

刚刚尝试过它,它实际上只是循环播放,一次又一次地提示主机名,而没有显示任何结果。 – JohnnyHG

+0

你究竟做了什么?如果你已经在.txt文件中得到了ping的结果,你可以使用我的for循环(用in(C:\ Ping.txt)''替换中间部分)。如果它不起作用,请检查“%%#”展开为('echo echo %%#')。 – Regejok

+0

好吧,它毕竟工作..真的很古怪。我的文件被称为PING.BAT,出于某些原因,我认为这是问题所在。我将它重新命名为其他东西,它的功能就像一个魅力。试图将其重命名为ping.bat,并且它没有给出任何结果而再次完成循环。 我不知道是否有逻辑解释,但无论如何,它现在工作.. 非常感谢。 – JohnnyHG