これは奇妙なものです。通常、PowerShellから外部コマンドを実行するときは、次のように&
演算子を使用します。
& somecommand.exe -p somearguments
しかし、今日、私は次のように使用される.
演算子に出くわしました。
.$env:systemdrive\chocolatey\chocolateyinstall\chocolatey.cmd install notepadplusplus
このシナリオでは、期間はどのような目的に役立ちますか?わかりません。
「。」呼び出し演算子は、呼び出した他のスクリプトから変数を送受信します。 「&」呼び出し演算子は変数のみを送信します。
たとえば、次のことを考慮してください。
スクリプト1(call-operator.ps1):
clear
$funny = "laughing"
$scriptpath = split-path -parent $MyInvocation.MyCommand.Definition
$filename = "laughing.ps1"
"Example 1:" # Call another script. Variables are passed only forward.
& $scriptpath\$filename
"Example 2:" # Call another script. Variables are passed backwards and forwards.
. $scriptpath\$filename
$variableDefinedInOtherScript
スクリプト2(laughing.ps1):
# This is to test the passing of variables from call-operator.ps1
"I am $funny so hard. Passing variables is so hilarious."
$variableDefinedInOtherScript = "Hello World!"
両方のスクリプトを作成し、最初のスクリプトのみを実行します。 「。」が表示されます。呼び出し演算子は変数を送受信します。
どちらにも用途がありますので、創造力を発揮してください。たとえば、「&」呼び出し演算子は、現在のスクリプトの元の値を保持しながら、別のスクリプトの変数の値を変更する場合に役立ちます。ちょっとセーフガード。 ;)
ショート:通常の演算子では達成できないことを達成するために使用される特殊演算子です。この特定の演算子_.
_には、実際には2つの明確に異なる特殊演算子のユースケースがあります。
ロング:
他の言語、スクリプト、その他と同様に、PowerShellスクリプトは、値の操作に役立つさまざまな種類の演算子もサポートしています。これらの通常の演算子は次のとおりです。
ただし、PowerShellは、他の種類の演算子では実行できないタスクを実行するために使用される特殊演算子と呼ばれるものもサポートしています。
これらの特別な演算子には以下が含まれます:
@()
配列部分式演算子&
_通話オペレーター[ ]
_キャスト演算子,
_コンマ演算子.
_ドットソーシングオペレーター-f
_フォーマット演算子[ ]
_インデックス演算子|
_パイプラインオペレーター.
_プロパティ逆参照演算子..
_範囲演算子::
_静的メンバー演算子$( )
部分式演算子_.
_ドットソーシング演算子:は、このコンテキストで使用され、スクリプトを現在のスコープで実行できるようにし、基本的にすべての関数、エイリアス、および現在のスクリプトに追加されるスクリプトによって作成された変数。
例:
_. c:\scripts.sample.ps1
_
注この_.
_特殊演算子のアプリケーションの後には、(_.
_)記号と区別するためのスペースが続きます。現在のディレクトリを表します
例:
_. .\sample.ps1
_
_.
_プロパティ逆参照演算子:_.
_に続くオブジェクトのプロパティとメソッドへのアクセスを許可します。 _.
_文字の左側の式はオブジェクトであり、の右側の式はオブジェクトメンバー(プロパティまたはメソッド)です。
例:
_$myProcess.peakWorkingSet
(get-process PowerShell).kill()
_
免責事項と出典:
PowerShellスクリプトを見ているときに、その機能セットを拡張しようとしていたのと同じ質問があり、答えを探すときにここにたどり着きました。しかし、 this を使用して答えを見つけることができました。MicrosoftDevelopmentNetworkに、同じアイデアをさらに拡張した this を追加した壮大な記事があります。 ITプロから。
乾杯。
ドットは呼び出し演算子です。
$a = "Get-ChildItem"
. $a # (executes Get-ChildItem in the current scope)
しかし、あなたの場合、それが何をするのかわかりません。
オブジェクトプロパティの.Periodまたは.fullstop;お気に入り
$CompSys.TotalPhysicalMemory
ここを参照してください: http://www.computerperformance.co.uk/powershell/powershell_syntax.htm#Operators_