使用输入的电子邮件地址检索DNS详细信息

时间:2013-03-18 06:01:48

标签: windows for-loop batch-file cmd

我有一个问题,我现在已经解决了很长一段时间了。一直在寻找,似乎无法提出解决方案。

我需要创建一个批处理文件,提示用户输入他们的电子邮件地址。然后将以“@”字符修剪此电子邮件地址。其余的域将在“nslookup”命令中使用,但我希望它只过滤邮件交换服务器。

示例:

“Cooldude@gmail.com”

然后下一位是我需要的:

“gmail.com”

然后我需要发生以下情况:

nslookup  
set type=mx  
gmail.com  

这就是我到目前为止:

@echo off  
set /p email="Enter your email address : "  
call :findString email "@" pos  
echo.%pos%  
set ex=%email:~%-pos%%  
echo Email Exchange is: %ex%  
pause  

:findString  
SETLOCAL ENABLEDELAYEDEXPANSION  
set "pos="  
set "str=!%~1!"  
for /L %%a in (0,1,1023) do (  
    set "s=!str:~%%a!"  
    if not defined pos if "%~2!s:*%~2=!"=="!s!" set "pos=%%a"  
)  
ENDLOCAL & IF "%~3" NEQ "" SET "%~3=%pos%"  

GOTO:EOF

提前完成! ; P

1 个答案:

答案 0 :(得分:2)

试试这个:

@echo off &setlocal
set "email=Cooldude@gmail.com"
set "email=%email:*@=%"
echo %email%
endlocal