いくつかの一般的な変数を含むバッチ ファイルを作成し、このスクリプトを他のスクリプトに含めて、変数がそこに表示されるようにすることは可能ですか?
これに対する一般的なアプローチは何ですか?
いくつかの一般的な変数を含むバッチ ファイルを作成し、このスクリプトを他のスクリプトに含めて、変数がそこに表示されるようにすることは可能ですか?
これに対する一般的なアプローチは何ですか?
簡単に言えば、「共有」値を確認する必要があるスクリプト内で
CALL yourbatchthatsetsthecommonvariables.bat
ただし、これらの変数への変更は特定のCMD
インスタンスに分離されます。インスタンス間で伝達されることはありません。
ANDこれによってインスタンスに対して返される値はCOMMON.BAT
、現在のインスタンスに関連するものになります。
だから:あなたが持っていると仮定しますCOMMON.BAT
set mytime=%time%
set myval=abc123
次にインスタンス 1... またはインスタンス 2
...
call COMMON.BAT
...
に設定myval
しabc123
ますがmytime
、それぞれが呼び出した時間に設定しますCOMMON.BAT
これを試してください(最初のスクリプトで):
set>variables.txt
..そして2番目のスクリプトで:
for /f "delims=" %%i in (variables.txt) do set %%i
編集:一連の変数(最初のファイル)に対してこれを行うには:
::define some variables
set "_myvar1=value1"
set "_myvar2=value2"
set "_myvar3=value3"
::save them to a text file
set _myvar>variables.txt
_myvar
これにより、テキストファイルに向かうすべての変数が保存されます。2番目のスクリプトのコードは変更されません。
もちろん、これもかなり一般的です。
あなたの変数を としましょうconfig.bat
:
set PATH=c:\opt\tools\jdk1.6;%PATH%
set CLASSPATH=c:\opt\projects\myproject\jars;%CLASSPATH%
次に、たとえばstart-dev.bat
次のことができます。
call common.bat
javaw -cp %CLASSPATH% -Denv=dev
そしてstart-prod.bat
:
call common.bat
javaw -cp %CLASSPATH% -Denv=prod