6

バッチスクリプトでグローバル変数を宣言するにはどうすればよいですか?

例:

Test1.bat:

set testvar=C:\Windows
echo %testvar%

これで、このtestvarを他のバッチスクリプト(test2.bat)で使用できるようになります。

Test2.bat:

echo %testvar%

ありがとう、よろしく!

4

4 に答える 4

1

私の知る限り、複数のバッチ スクリプトで 1 つの変数を使用する唯一の方法は、カスタム システム環境変数を作成することです。ここでそれを行う方法の詳細なチュートリアルを見つけることができます:グローバル環境変数

于 2013-03-13T02:31:55.063 に答える
1

見る

SETX /?

プロンプトから - 変更が cmd.exe の将来のインスタンスのみに適用されるという重要なポイントを観察します - 存在しません

于 2013-03-13T02:36:34.000 に答える
1

システム環境変数を永続的に設定する。ここを参照してください。

適用対象: Windows Server 2008、Windows Vista

Windows XP の場合、 Windows XP Service Pack 2 サポート ツールをダウンロードしてインストールします。

于 2013-03-13T02:29:12.270 に答える
0

2 つのバッチ ファイルを同じコマンド プロセスで実行すると、問題なく動作します。

これはtest1.batです

set testvar="test123"
echo In test1.bat
echo %testvar%

これはtest2.batです

echo In test2.bat
echo %testvar%

これは、test1.bat を実行してから test2.bat を実行した場合の出力です。

C:\temp>test1.bat

C:\temp>set testvar="test123"

C:\temp>echo In test1.bat
In test1.bat

C:\temp>echo "test123"
"test123"

C:\temp>test2.bat

C:\temp>echo In test2.bat
In test2.bat

C:\temp>echo "test123"
"test123"

これは、あるバッチを別のバッチから呼び出す場合にも機能します (同じプロセスであるため)。

test1.bat を次のように変更します

set testvar="test123"
echo In test1.bat
echo %testvar%
call test2.bat

出力は次のようになります

C:\temp>test1.bat

C:\temp>set testvar="test123"

C:\temp>echo In test1.bat
In test1.bat

C:\temp>echo "test123"
"test123"

C:\temp>call test2.bat

C:\temp>echo In test2.bat
In test2.bat

C:\temp>echo "test123"
"test123"

さまざまなコマンド プロセスで使用できるようにする場合は、setx を確認するか、システム変数を設定する必要があります。

于 2013-03-13T02:32:01.223 に答える