2017-08-25 3 views
1

変数を以下のようにインラインで使用するように設定したいと思いますが、予想どおりに動作しません。最終的には、私が実行したいコマンドは、変数を使って設定するだけです。行内にPowerShell変数を使用

'$Version = 'v14,11.253.0'.replace(",",".").replace("v","")' to get a output of '14.11.253.0' 

これはなぜ機能しませんか?

$Replace = '.replace(",",".").replace("v","")' 
$Version = 'v14,11.253.0'$Replace 
$Version 

答えて

1

は、ここにあなたがこのコードをより再現させる機能を使用する場合があります方法は次のとおりです。

​​3210

あなたはまた、機能を受け入れることによって、この小さな更なる(そしておそらくそれをより使いやすくする)を取ることができますあなたはこのようにそれを使用できるように、パイプライン入力:私は「置き換え」異なると複数行のコードを変更する必要が

Function FixVersion { 
    Param (
     [Parameter(ValueFromPipeline)] 
     $Version 
    ) 
    $Version -replace ',','.' -replace 'v' 
} 

$Version = 'v14,11.253.0' | FixVersion 
+1

ありがとうございました! –

0

これはあなたのために働く必要があります。

$Version = 'v14,11.253.0' -replace ',','.' -replace 'v' 

ないので、あなたは文字列変数のメソッドを置き換える保存しようとしているが、あなたが期待しているとして、それは動作しません理由を確認してくださいそれは文字列です。私のコメントパー

+0

はので、私は一つの場所(つまり、設定された変数)でそれを変更したいと思いますので、私は使用できるコマンドそれは何度も繰り返され、常に数十行のコードを変更する必要はありません。 –

+0

関数を作成する必要があるようです。 –

関連する問題