0
私は各ディレクトリをループし、後で実行するpowershellスクリプトのコマンドを作成しようとしています。for-Loopは常に同じディレクトリを返します
@echo off
del c:\temp\Pack*.log
FOR /d %%d in (C:\dev\BlubDev\Releases\*.*) DO (
set fullDir=%%d
set dirName=%fullDir:~24,100%
set tempLog=c:\temp\Pack%dirName%.log
set myvar=%%d\Tools\Build\BlubCreatePackageOnCentral.ps1
ECHO %myvar% ^> %tempLog%
)
しかし、なぜそれはいつも同じ(おそらく最後に見つかった)ディレクトリを印刷していますか?まさにこれが必要な理由
あなたは説明できます必要がありますか? – Jannik
@Jannik - それはリンクで説明されています。 '%something%'のような変数は、行が解析されると直ちに置き換えられます。バッチスクリプトは、大括弧で囲まれたブロックを1行の文として扱います。遅延拡張では、変数は実行の直前に(すなわち、解析と比較して遅れて)置き換えられ、新しい値が考慮される。 – npocmaka
理解しています。私は理解しておらず、リンクもありませんでした。 – Jannik