0

バッチ ファイルの ROUTE ADD 構文で変数を使用する際に非常に問題があります。悪い言葉で言えば、2 つの値を入力するように要求し、それらを使用して 2 つの特定の IP アドレスを作成し、それらを ROUTE ADD 構文に渡したいのですが、私の OS (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
4

1 に答える 1

4

SETを実行しているときに問題があります。「RGWsn」と「EndianIP」の SET は問題ありませんが、他の場所ではスペースが問題を引き起こしています。

SET IP01 = 10.128.%RGWsn%.0

これにより、変数「IP01」を作成し、その値を「10.128.%RGWsn%.0」に設定します。ここのスペースに注意してください。

あなたがしているはずです

SET IP01=10.128.%RGWsn%.0

IP02 と IP03 についても同様です。

この類似の問題を見てください。

于 2013-09-09T09:12:16.743 に答える