非常によく似た1行のコマンドが2つありますが、1つは機能し、もう1つは変数を使用しません。
Copy-Item "C:\BadSourceCodes\dropTest\base1\*" -Include "myUsers.Config","myUsers.WSF" -Destination "C:\BadSourceCodes\dropTest\temp1"
これはうまくいきます。2つのファイルがあり、それらを宛先フォルダーにコピーしたいと思います。
このようなものを作成すると
$files = "myUsers.Config,myUsers.WSF"
$tempFiles = [string]::Concat("`"",$files.Replace(",","`",`""),"`"")
$tempFiles
Copy-Item "C:\BadSourceCodes\dropTest\base1\*" -Include $tempFiles -Destination "C:\BadSourceCodes\dropTest\temp1" -Force
インクルードファイルに変数を使用するとすぐに機能しません。さまざまなバリエーションで確認しましたが、機能しません。
$変数の動作は異なりますか?
$($ tempFiles)、'$ tempFiles'、 "$tempFiles"....などのバリエーションを試してみました。
更新: 引用符をエスケープして、を「、」に置き換えると、引用符は文字列の一部として扱われると思います。それが私が取った悪いアプローチだった方法。しかし、機能したのは、文字列とDoneの配列を作成する$ files.Split( "、")だけです。