首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何提取"ping -a“输出中的主机名?

问如何提取"ping -a“输出中的主机名?
EN

Stack Overflow用户
提问于 2013-03-14 20:14:44
回答 2查看 1.4K关注 0票数 1

我必须提取"ping -a“输出中的主机名,但我不能解决这个问题,我在考虑使用正则表达式。我需要提取r和[之间的字符才能得到computername.windowsdomain.这看起来可能吗?我在网上找不到好的批量正则表达式的资源,都是关于JS,PHP和.NET的。

因为我是法国人,所以ping -a的输出以:

代码语言:javascript
复制
Envoi d'une requête 'ping' sur XXXXXXXX.DOMAIN.NAME.com [127.0.0.1]
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-14 20:42:20

批处理文件本身没有正则表达式功能。有一些选项可以通过findstr过滤文本文件或程序输出中的行,它使用自己对正则表达式的解释,看起来很相似,但存在缺陷和限制。

在任何情况下,您可能都可以做到以下几点:

代码语言:javascript
复制
set hostname=
for /f "skip=1 tokens=2" %%x in ('ping -n 1 -a so.me.i.p') do if not defined hostname set hostname=%x
echo %hostname%
票数 1
EN

Stack Overflow用户

发布于 2013-03-14 22:44:31

代码语言:javascript
复制
@ECHO OFF
SETLOCAL
FOR /f "delims=" %%i IN ('ping -n 1 -a 127.0.0.1^|find "["') DO CALL :sub %%i
ECHO hostname: %hostname%
ECHO domain: %domain%
ECHO whole chebang: %chebang%
GOTO :eof

:sub
SET hostname=%2
IF NOT %hostname:~0,1%==[ shift&GOTO sub
SET chebang=%1
FOR /f "tokens=1*delims=." %%a IN ("%1") DO SET hostname=%%a&SET domain=%%b
GOTO :eof

对你来说应该很管用。变量名不是我的专业领域...

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15409034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档