0

CMD は、SET を使用して保存した変数を認識していないようです。このバッチ ファイルを実行すると、次のようになります。

@ECHO off
SET /P name = What is your name? 
ECHO %name%
PAUSE
ECHO on

次の出力が得られます。

What is your name? steven
ECHO is off.
Press any key to continue . . . 

コマンドプロンプトから2行目を実行してから3行目を実行すると、次のように出力されます。

%name%

何かが正しく構成されていませんか? 2 行目で 3 行目で認識されるセッション変数を作成する必要があると考えるのは正しいですか?

検索したのですが、IFブロック内の変数展開に関する回答しか見つかりませんでした。これは、IF/FOR/etc ブロックの外側で発生しています。

ちなみにWindows7です。Windows のバージョンごとに cmd がどの程度変化するかはわかりません。

4

2 に答える 2

0

まだコメントを追加できないので、新しい回答を投稿する必要があります。情報:

「セット命令の等号の周りにスペースを入れてはいけません。」

は部分的にしか正しくありません。正確には、等号は変数名の直後に続く必要があります (sricks3 の場合はスペースなし)。等号の後に来るものはすべて、スペースを含む変数の入力プロンプトとして使用されるため、次のコードも同様に機能します。

SET /P name= What is your name? 
于 2013-03-06T09:52:19.643 に答える