15

簡単なバッチファイルスクリプトを実行しようとしています:

echo %1
set var = %1
echo %var%

XP で実行している場合は期待どおりの出力が得られますが、Vista または Windows 7 で実行している場合は、値を印刷 (エコー) しようとすると「エコーがオンになっています」というメッセージが表示されます。

以下はプログラムの出力です:

G:\2012>abc.bat 1

G:\2012>echo 1
1

G:\2012>set var = 1

G:\2012>echo
ECHO is on.

G:\2012>
4

1 に答える 1

19

セット式のスペースを取り除きます。等号 (=) の両側にスペースを入れることはできません。

set var=%1

ところで: 私は通常、すべてのバッチ ファイルを @echo オフで開始し、@echo オンで終了するので、コードとバッチ ファイルの出力が混在するのを避けることができます。バッチファイルの出力が少しきれいになり、きれいになります。

于 2012-09-08T08:27:43.983 に答える