web-dev-qa-db-ja.com

別のWindowsバッチファイルに設定されている変数にアクセスする方法は?

私はWindowsのバッチファイルを持っています-fileA.batと呼ばれ、変数セットが含まれています。 fileA.batのサンプルコード:

set fileA_username=michael

これで、fileB.batという別のバッチファイルができました。これは、fileA.batに設定されているこの変数にアクセスする必要があります。

したがって、fileB.batに記述したコードは、次のようなことをしたいと思うでしょう。

set fileB_username = %fileA_username%

次に、スクリプトコードでfileB_usernameを引き続き使用します。

FileBは、次のように実行の一部としてfileAを呼び出します。

fileBのコード:

---
---
call fileA.bat
---
---
set fileB_username = fileA_username
---
if fileB_username
----

外部バッチファイルに設定されている変数にアクセスするにはどうすればよいですか?ありがとう。

4
tsum

変数名にタイプミスがあります:fielA_username vs. fileA_username、それ以外の場合、コードは適切です。また、=サインインSETコマンドの前後には、変数名とその値の一部になるため、かなりのスペースを避ける必要があります(SET foo=bar && SET foo = bar && SET fooを試してください)。


@REM this is setenv.bat

SET ENV=IRON

@REM and this is "main" script

CALL setenv.bat

@REM append something to the value
SET ENV=%ENV%MENT

REM print the current value
SET ENV

3
Free Consulting

SETLOCALを指定するか、バッチファイルAで変数の設定を明示的に解除しない限り、変数はグローバルであり、2番目のバッチファイルからアクセスできます。

詳細については、 Windowsバッチファイルで変数をアンロードする理由 を参照してください。

2
Der Hochstapler