2017-06-20 94 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