コマンドモードでの文字列拡張のルールは何ですか?cmd.exeの場合、次のように記述します。
c:\asdoc.exe -doc-sources+=src
これを文字列に変換する必要があります。この文字列では、実際のソースパス( "src")が計算されるため、この行の上のどこか$sourcePath = "src"
で実行されます。次に、そのcmd.exeコマンドをPowerShellコマンドに変換する必要があります。次のことを試しましたが、機能しません。
& c:\asdoc.exe -doc-sources+=$sourcePath # does NOT work
& c:\asdoc.exe -doc-sources+="$sourcePath" # does NOT work
& c:\asdoc.exe -doc-sources+=($sourcePath) # does NOT work
EchoArgsユーティリティを使用したところ、次のような結果が得られました。
Arg 0 is <-doc-sources+=$sourcePath> # case 1
Arg 0 is <-doc-sources+=$sourcePath> # case 2
Arg 0 is <-doc-sources+=> # case 3
Arg 1 is <src path>
この例で文字列を「正しく」展開するにはどうすればよいですか?