Windows批处理检查主机名存在

时间:2016-08-30 06:56:20

标签: windows batch-file command hosts

我想检查一下我的电脑上是否存在主机名(即hosts下的C:\Windows\System32\drivers\etc文件中的主机名。)

有没有办法使用批处理命令或其他方式查找是否存在?

3 个答案:

答案 0 :(得分:1)

尝试使用一些额外的信息来填充此批处理文件:

<div ng-app="ExampleApp">
 <div ng-controller="ExampleController">
<select ng-model="selectRole" ng-options="role for role in selectedrole">
 </select>
 </div>

答案 1 :(得分:0)

您可以做的是ping您正在寻找的主机名,然后检查某些字符串,这些字符串将显示是否可以找到主机名。看起来像这样(我猜):

@echo off
setlocal EnableDelayedExpansion
set /p input= "Hostname"
set hostexists=yes
For /f "tokens=1,2" %%a in ('ping -n 1 !input!') do (
    if "x%%a"=="xFOO" if "x%%b"=="xBAR" set hostexists=no
)
If "x!hostexists!"=="xno" (
echo. "Does not exist"
) ELSE (
echo. "Does exist"
Pause

基本思想是,当您尝试ping不可用的主机名时,您将从命令行获得特定输出。自己尝试一下:打开cmd.exe(点击Windows-Button + R并键入cmd),然后在命令行中写ping foobar并稍等片刻。您应该收到如下消息:Ping-Request找不到“foobar”[...]。您将前两个单词放入代码中:第一个单词到FOO,第二个单词到BAR

程序将查看ping命令的输出,并将前两个单词(= tokens)放在%%a%%b中,检查它们是否等于所需单词,标记主机是否正确不存在。

我希望这会有所帮助:)不确定这是否是你想要的:D

问候

geisterfurz007

答案 2 :(得分:0)

更简单,更强大的解决方案

url.bat:

@echo off

set url=%1
ping -n 1 %url% > nul 2> nul
if "%errorlevel%"=="0" (
 echo %url% exists
) else (
 echo %url% does not exist
)

测试

> url.bat google.com
google.com exists

> url.bat google.commmmmm
google.commmmmm does not exist