1. ホーム
  2. windows

Jenkins with Windows Batch Commandで環境変数はどのように使われるのですか?

2023-10-11 01:40:03

質問

私は Jenkins (グローバル) 環境変数 をxcopyスクリプトで使用しようとしています。

${WORKSPACE} doesn't work
"${WORKSPACE}" doesn't work
'${WORKSPACE}' doesn't work

どのように解決するのですか?

私はJenkinsについて何も知らないのですが、unixの構文のいくつかのフォームを使用して環境変数にアクセスしようとしているように見えます - それはうまくいきません。

変数の名前が WORKSPACE である場合、値は Windows のバッチで次のように展開されます。

%WORKSPACE% . その形式の展開は構文解析時に行われる。例えば、これはWORKSPACEの値を画面に表示します。

echo %WORKSPACE%

実行時に値が必要な場合は、遅延展開で !WORKSPACE! . 通常、遅延展開はデフォルトでは有効ではありません。使用方法 SETLOCAL EnableDelayedExpansion を使ってください。遅延展開は、括弧内のコードブロックや複数のコマンドを & , && または || は一度に解析されるため、ブロック内で割り当てられた値は、遅延展開を使用しない限り、同じブロック内で後から読み込むことはできません。

setlocal enableDelayedExpansion
set WORKSPACE=BEFORE
(
  set WORKSPACE=AFTER
  echo Normal Expansion = %WORKSPACE%
  echo Delayed Expansion = !WORKSPACE!
)

上記の出力は

Normal Expansion = BEFORE
Delayed Expansion = AFTER

使用方法 HELP SET または SET /? をコマンドラインから実行すると、Windowsの環境変数やさまざまな拡張オプションに関する詳細な情報を得ることができます。例えば、検索/置換や部分文字列操作の方法などが説明されています。