Windows 批量-路线添加&;使用变量PING

Windows 批量-路线添加&;使用变量PING,windows,batch-file,ewon,Windows,Batch File,Ewon,在批处理文件的ROUTE ADD语法中使用变量时,我遇到了一个非常棘手的问题。简而言之,我要求输入2个值,然后我使用它们创建2个特定的IP地址,然后我想将它们传递给ROUTE ADD语法,但在我的操作系统(Windows7 x64)上,当我运行脚本时,我可以正确地看到IP01和IP02变量,但我无法使用ROUTE ADD命令来识别IP01和IP02。。。即使我放置了%IP01%和%IP02%,显示的命令也不会在屏幕上写入任何内容,因此我无法继续处理批处理文件。 PING命令也存在同样的问题 以下

在批处理文件的ROUTE ADD语法中使用变量时,我遇到了一个非常棘手的问题。简而言之,我要求输入2个值,然后我使用它们创建2个特定的IP地址,然后我想将它们传递给ROUTE ADD语法,但在我的操作系统(Windows7 x64)上,当我运行脚本时,我可以正确地看到IP01和IP02变量,但我无法使用ROUTE ADD命令来识别IP01和IP02。。。即使我放置了%IP01%和%IP02%,显示的命令也不会在屏幕上写入任何内容,因此我无法继续处理批处理文件。 PING命令也存在同样的问题

以下是我编写的原始代码:

@ECHO OFF
REM ******************************
REM ROUTE MAP for ENDIA-eWON
REM ******************************

CLS
ECHO.
COLOR 0A
ECHO.+ROUTE MAP 10.128.X.0 with eWON-sn + IP 172.31.1.X
ECHO.+PING ROUTE JUST DEFINED, TO CHECK IT
ECHO.----------------------------
ECHO.Author: aColussi@atomat.com
ECHO.v1.00
ECHO.
ECHO.
ECHO.
SET /P RGWsn=Insert eWON sn (RGWsn):
SET /P EndianIP=Insert last value X for the Endian network (172.30.1.X):

REM ******************************
REM DEFINE IP01 (eWON network) and IP02 (ENDIAN network)
REM ******************************

SET IP01 = 10.128.%RGWsn%.0
SET IP02 = 172.30.1.%EndianIP%

REM TEST THE 2 VALUES JUST DEFINED
SET IP01
SET IP02
PAUSE

@ECHO ON
REM ADD THE ROUTE
ROUTE ADD %IP01% MASK 255.255.255.0 %IP02% METRIC 1
PAUSE

@ECHO OFF
REM TEST THE ROUTE AND THE PING OF THE eWON ASSOCIATED DEVICE (.254)
ECHO.
ECHO.VIEW THE ROUTES ON OUR WORKSTATION
ROUTE PRINT |MORE
PAUSE
ECHO.
ECHO.PING-TEST FOR THE JUST-ADDED ROUTE/IP (USING eWON .254)
SET IP03 = 10.128.%RGWsn%.254
PING %IP03%
PAUSE

当你在做这个动作时,你会遇到问题。 “RGWsn”和“EndianIP”的设置很好,但在其他地方,空格会导致问题

SET IP01 = 10.128.%RGWsn%.0
使用此选项,您将创建一个变量“IP01”,并将其值设置为“10.128.%RGWsn%.0” 注意这里的空格

你应该做什么

SET IP01=10.128.%RGWsn%.0
同样适用于IP02和IP03


看一看类似的问题。

在进行设置时,您会遇到问题。 “RGWsn”和“EndianIP”的设置很好,但在其他地方,空格会导致问题

SET IP01 = 10.128.%RGWsn%.0
使用此选项,您将创建一个变量“IP01”,并将其值设置为“10.128.%RGWsn%.0” 注意这里的空格

你应该做什么

SET IP01=10.128.%RGWsn%.0
同样适用于IP02和IP03


看看类似的问题。

你能写
echo%RGWsn%
echo%IP03%
并告诉我们结果吗?你能写
echo%RGWsn%
echo%IP03%
并告诉我们结果吗?你是说你不能
ping(这里的空格)127.0.0.1
?不,我是说你的变量名有额外的空格。在您的情况下,您必须执行PING%IP01%。您的变量名为“IP01”,带有空格。非常感谢Manimatters和Epsilon的回复。那正是我犯的错误。设置IP01时,我调用了所有以IP01开头的变量,这就是为什么系统使用IP01变量进行响应。。。虽然最初的空间,现在我修复了它,一切都很好。再次感谢。您是说您不能执行
ping(此处为空格)127.0.0.1
?不,我是说您的变量名有额外的空格。在您的情况下,您必须执行PING%IP01%。您的变量名为“IP01”,带有空格。非常感谢Manimatters和Epsilon的回复。那正是我犯的错误。设置IP01时,我调用了所有以IP01开头的变量,这就是为什么系统使用IP01变量进行响应。。。虽然最初的空间,现在我修复了它,一切都很好。再次感谢。