バックグラウンドで .exe を起動するシェル スクリプトがあります。
$strPath = get-location
$block = {& $strPath"\storage\bin\storage.exe" $args}
start-job -scriptblock $block -argumentlist "-f", $strPath"\storage\conf\storage.conf"
前の質問で、絶対パスが必要であることがわかりました。ただし、次のコマンドを見ると、 $strPath 変数は解釈されません。
PS Q:\mles\etl-i_test> .\iprog.ps1 --start1
Start Storage
Id Name State HasMoreData Location Command
-- ---- ----- ----------- -------- -------
37 Job37 Running True localhost & $strPath"\storage\bi...
どうすればこれを修正できますか?
編集:パスを引数として渡す必要があることを理解しています。何かのようなもの:
$block = {& $args[0]"\storage\bin\storage.exe" $args[1] $args[2]}
start-job -scriptblock $block -argumentlist $strPath, "-f", $strPath"\storage\conf\storage.conf"
?