2016-11-12 296 views
0

所以我想弄清楚如何获取默认网关地址并将其打开到Web浏览器,旨在帮助其他人设置端口转发,以便托管某种类型的程序(ventrilo,teamspeak,drawpile或其他)。我遇到的问题是,它在开始时在存储的IP地址中生成一个空格,我不想这样做。我一直在试图改变它,但我无法弄清楚如何去做。大部分时间对我来说,脚本似乎在黑暗中徘徊,试图弄清楚事情的真相。我是自学的!这就是说,如果有什么好的资源你知道学习这种东西,我也会很感激。谢谢!CMD批处理:查找默认网关IP地址,删除空格(如果有的话),并在浏览器中打开默认网关

SET IP=%IP:~1% 

更多子的例子可以发现HERE

+0

在FOR命令中使用该空格作为分隔符之一。 – Squashman

+0

@Squashman - 这将使我的机器的接收变量'%l'。可能在一种语言和操作系统版本的机器上工作。可能不在别人身上。 – lit

+0

@Squashman我尝试了一个空间,它不适合我。 –

回答

0

从IP变量使用该删除第一空间(1)。

SET "ip=%ip:~1" 
+1

感谢您的信息以及它的资源。我曾经看过,但我想我并没有真正吸收信息,所以在回到问题之前,我先吃了点东西。看起来〜1%只是告诉它跳过第一个字符,然后转移到其余部分存储到变量中。这是完美的,谢谢! :D –

0

您可以通过采取变量的一个子从一个字符一次删除空格:

set "ip=" 
for /f "tokens=1-2 delims=:" %%a in ('ipconfig^|findstr "Default"') do if not defined ip set ip=%%b 
echo. 
echo The Gateway is: "%ip%" 
echo. 
echo Listing all available adapters IP and MAC addresses. 
echo ------------------------------------------------------- 
ipconfig /all | findstr /R /C:"IP.* Address" /C:"Physical Address" 
echo. 
echo. 

echo Opening web pages on... 
explorer http://%IP% 
pause 
+0

甜,感谢您的信息。只是好奇你为什么用这个引号。 –

+0

SET语句中的引号确保字符串末尾不存在不可见字符(如SPACE或TAB)。 – lit

相关问题