PowerShell の基本 -Contains, -CContains & -NotContains 条件演算子

Windows PowerShell -Contains

フィルタリングやデータの検索に関しては -Match, -Like および -Contains と選択肢が豊富ですが、その中でも最も重要なのは「条件付きで選択される」ということでしょう。

-Contains(含む)は、正確な値を求めるのに最適な演算子です。 コマンドで True か False のどちらかを返したい場合は、-Contains から始め、結果のリストが必要な場合は、-Match か -Like を試します。

PowerShell の -Contains 条件演算子のトピック

  • 例 1: PowerShell -Contains(基本)
  • 例 2: コレクションで値を求める
  • Example 3: PowerShell の条件演算子 -Contains 条件演算子のトピック
  • 例 3: 条件演算子を使用する。 PowerShell -Contains Spreadsheet
  • Example 4: PowerShell -CContains
  • Example 5: PowerShell -NotContains
  • PowerShell -Match
  • PowerShell -Like
  • 例1a.PowerShell -Match

  • PowerShell -Contains
  • Example 4: PowerShell -Contains
  • Example 5: PowerShell -Matchli PowerShell -Contains

    PowerShell は単数形の名詞を使用します。したがって、「contains」は動詞であり、複数形の名詞ではありません。 Containsの特徴は、通常「True」または「False」を返すことです。 値のリストを返すコマンドを探している場合は、-Match または -Like を使用してください。

    # PowerShell -Contains OperatorClear-Host$ArraySimple =@("House","Flat","Bungalow")$ArraySimple -Contains "Flat"# Result PS> True

    例 1b: PowerShell の -Contains は非常に厳しい

    Containsは非常にうるさいので、いらいらさせられるかもしれません。 しばらくすると、これは単なる設計上の機能であり、気に入らない場合は -Match を試してみてください。

    # PowerShell -Contains OperatorClear-Host$ArraySimple =@("House","Flats","Bungalow")$ArraySimple -Contains "Flat"# Result PS> False

    注意 1: -Contains は “Flats” と “Flat” を異なるものとして解釈し、したがって False を返す; Flat が Flats のサブセットでも問題ない。

    挑戦 : -Contains に代えて、-Match を使用してください。 PowerShell 用の無料の WMI モニター (無料ツール)

    Windows Management Instrumentation (WMI) は、Microsoft のオペレーティング システムの隠れた宝物の 1 つです。

    オペレーティング システム、Active Directory、または Exchange Server をスクリプト化する際に、どの WMI カウンターを使用するか推測する手間を省くことができます。

    SolarWinds WMI Monitor Download 100% Free Tool

    例 2: コレクション内の値を求める

    コレクション、配列またはハッシュテーブル内の特定のアイテムをテストしたい場合、条件演算子として Contains は私の選択肢となります。

    # PowerShell -Contains$Collection = "Peter Smith", "Paula Harris", "Joan Evans"$Collection -Contains "Paula"# Result PS> False

    注意 2: コード化すると、$Collection -Contains “Paula Harris”
    結果は次のようになります。 True となります。

    例 3: PowerShell -Contains Spreadsheet

    リンクス.csv というファイル内で検索したいと仮定してみましょう。 さらに、Import-Csv を使用してデータを読み取り、-Contains で値をテストできるようにします。

    準備
    私のスプレッドシートの名前は links.csv
    D:\PowerShell にファイルを格納しました
    列名は “Custom channel”
    右のスクリーンショットを参照してください

    Guy Recommends: ネットワーク パフォーマンス モニター (無料トライアル)

    SolarWinds ネットワーク パフォーマンス モニター (NPM) は、ネットワークで何が起こっているかを発見するのに役立ちます。 ダッシュボードでは、根本的な原因がリンク切れなのか、機器の欠陥なのか、それともリソースの過負荷なのかを示します。 また、個々の VMware 仮想マシンの健全性を監視する機能も備えています。

    SolarWinds Network Performance Monitor Download 30-day FREE Trial

    例 4: PowerShell -CContains

    PowerShellの他の条件演算子と同様、コマンドを「C」で先行させることにより、強制的に大文字小文字を区別するようにすることが可能です。

    注意 4: ポイントは、スプレッドシートでは値は明らかに ‘LinkTop’ であり、CContains で大文字と小文字を区別させると、これは ‘linktop’ と同じではないので、結果は False となります。

    例 5: PowerShell -NotContains

    負の値 -NotContains は -NotMatch ほど便利ではありません。

    注意 5: -Contains と、その延長線上の -NotContains では、一致は正確でなければならないことに注意してください。 正確に ‘link’ という名前の ‘Custom channel’ は存在しません。

    PowerShell の -Like 比較についてもっと見る “

    Guy Recommends: SolarWinds Engineer’s Toolset (無料トライアル)

    この Engineer’s Toolset は、コンピューターの問題をトラブルシューティングするための 50 のユーティリティの包括的なコンソールを提供します。 Guy は、ネットワーク上で何が起こっているかを監視するのに役立ち、各ツールが基本的なシステムの動作方法についてより多くを教えてくれると述べています。 ありがたいことに、ユーティリティは、監視、ネットワーク検出、診断、および Cisco ツールというように、論理的に表示されます。 SolarWinds Engineer’s Toolsetを今すぐ14日間の無料トライアルでお試しください。

    SolarWinds Engineer’s Toolset Download 14-day FREE Trial

    演算子について

    # For even more information about PowerShell Operators try:Get-Help about_Operators

    PowerShellの演算子の種類の一覧です

    PowerShellの~も参照してみてください。Match “

    PowerShellの-Contains条件演算子の概要

    正確な値を求める場合、この演算子を使用することができます。 であれば、-Containsは条件演算子の最初の選択肢になると思います。 -Match や -Like は、部分的にしかマッチしない場合や、アイテムのリストが必要な場合に適している。

    See more Windows PowerShell flow control examples

    – PowerShell Home – PowerShell If Statement – PowerShell ElseIf – Free Permissions Analyzer

    – Conditional Operators – PowerShell -Match -Like – PowerShell -Contains

    – PowerShell Comparison Operators – PowerShell Syntax – Where Filter – PowerShell Else

    – より良いサンプル スクリプトを持っていれば私に電子メールを送信してください。 また、事実誤認、文法的誤り、リンク切れなどがありましたらご報告ください、喜んで修正いたします。

  • コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です