2015-10-31 14 views
8

PowerShellを初めて使用しています。私はこの答えをオンラインで見てきましたが、無駄です。多分私は単に質問を間違って表現しているだけかもしれません。PowerShell:コマンドレット後に文字列を変数に連結します。

多くの場合、コマンドレットの後に文字列を変数に連結しなければならない状況に陥ります。例えば、

New-Item $archive_path + "logfile.txt" -type file 

私はこれを実行しようとすると、PowerShellは、次のエラーがスローされます。

新アイテム:位置パラメータは、引数「+」を受け入れることを見つけることができません。

文字列を正しく連結しませんか?私はこれを行う各コマンドレットの前に別の変数を宣言する必要はありません(例えば、$logfile = $archive_path + "logfile.txt"、次にNew-Item $logfile -type file)。また、私は常にファイルパスを連結するとは限りません。

答えて

14

powershellパーサーが$archive_path,+、および"logfile.txt"を1つの文字列ではなく、3つの別々のパラメータ引数として認識するため、このエラーが発生します。

New-Item ($archive_path + "logfile.txt") -Type file 

または部分式で変数を囲みます:Get-Help about_Parsing

で解析するあなたは、引数モードについて読むことができます

New-Item "$($archive_path)logfile.txt" -Type file 

は、評価の順序を変更するには括弧 ()での文字列連結を囲み
関連する問題