PowerShell Test-Path Cmdlet
ファイルの発見やコンテナ オブジェクトのチェックに問題がある場合、PowerShell の Test-Path を呼び出してください;「真か偽か」で応答します。 PowerShellはファイルが存在するかどうかをチェックする
Classic Example: PowerShell Checks If a File Exist
ファイルの存在を確認する簡単なスクリプトから始めましょう
# PowerShell Check If File Exists$WantFile = "C:\Windows\explorer.exe"Test-Path $WantFile
注1: PowerShellが返すことのできる結果は、trueかfalseだけです。
注1: PowerShell が返せる結果は true か false だけですが、Test-Path は出力を処理するために ‘if’ 文を必要としています。 SolarWinds Wake-On-LAN Utility (無料ツール)
使用されていないときにコンピューターをスリープさせるのは、素晴らしいアイデアです。 この無料ツールをダウンロードすることをお勧めする本当の理由は、「魔法のパケット」を送るのがとても楽しいからです。
SolarWinds Wake-On-LAN Download 100% Free Tool
Test-Path Environmental Variables
物理的なファイルの場所に加えて、Test-Path を使用してレジストリや環境変数を調査することができます。
# PowerShell Test-Path for Environmental VariablesTest-Path env:\PathExt
課題: これらのうちどれが本当に環境変数なのでしょうか?
Public、Private、Temp、Tump、Tmp
PowerShell Test-Path -IsValid
Test-Pathの過小評価されている仕事の一つは、スクリプトのパス部分が本当に存在するかどうかを検証することです。
PowerShell Test-Path -Exclude
ここでは、現実的な問題として、私の写真コレクションに混ざってしまった、.gif, pnp, bmp, .jpg ではないファイルがあるかどうかを確認したいと思います。 前提:私(たち)が興味を持っているファイルは、H:Sports\fun_pictures\
注3:自分のコンピュータで動作させたい場合は、上記のファイルを大幅に編集する必要があります。 ImageFilesの値を変更し、-exclude file extensionsも微調整してください。 詳しくはPowerShell Elseでご覧ください。
Guy Recommends: SolarWinds Engineer’s Toolset (FREE TRIAL)
このEngineer’s Toolsetは、コンピュータの問題をトラブルシューティングするための50個のユーティリティを含む包括的なコンソールを提供します。 ガイ氏によると、ネットワーク上で発生していることを監視するのに役立ち、各ツールは基本的なシステムがどのように動作しているかについて詳しく教えてくれます。 ありがたいことに、ユーティリティはモニタリング、ネットワークディスカバリー、診断、シスコツールと論理的に表示されています。
SolarWinds Engineer’s Toolset Download 14-day Free Trial
A Test-Path Example To Make You Think
注4: このスクリプトは意図的に作成しました。 現実的には意味がありません。 Exclude *.* の値を *.exe または *.dll に調整してください。
注5: ここでは、-Pathパラメータを明示的に使用していますが、Test-Path以降の値は、その場所であるとみなされるため、-Pathはオプションです。
注6: Test-Pathと一緒にGet-ChildItemを試してみると、この2つのコマンドレットの長所と短所が見えてくることがよくあります。
Research The PowerShell Test-Path Cmdlet
# Find out more about PowerShell Test-Path cmdletClear-HostGet-Help Test-Path -full
注7: Test-PathをGet-Helpで調べると、パスをチェックするための-IsValidのような便利なパラメータを発見することができます。 また、-Includeや-excludeもあり、検索内容を絞り込むことができます。
Test-Path -PathType
-PathTypeパラメータの主な目的は、オブジェクトがファイルなのかフォルダなのかをチェックすることです。
Trap: HKLM: はそのコロンを必要としますが、これはレジストリでキーまたはデータをチェックするためにも使用できます。
HKEY_LOCAL_MACHINE\SOFTWARE\MicrosoftWindows NT\CurrentVersion\Winlogon
問題があります。
HKEY_LOCAL_MACHINE は問題ありませんし、Windows と NT の間のスペースも問題ありませんが、コロンがないのは問題で、
HKEY_LOCAL_MACHINE:\SOFTWAREMicrosoft‾Windows NT‾CurrentVersion‾Winlogon
Guy Recommends: Network Performance Monitor (FREE TRIAL)
SolarWinds Network Performance Monitor (NPM)は、ネットワーク上で何が起こっているかを発見するのに役立ちます。 ダッシュボードは、根本的な原因が壊れたリンクなのか、欠陥のある機器なのか、またはリソースの過負荷なのかを示します。
私が最も気に入っているのは、NPMがネットワークの問題に対するソリューションを提案する方法です。 また、個々のVMware仮想マシンの健康状態を監視する機能もあります。
SolarWinds Network Performance Monitor Download 30-day FREE Trial
The Rest of the Path Family
ここでは、より多くのコマンドレットを見つけるための簡単なテクニックをご紹介します。
# PowerShell Path Cmdlet ResearchClear-HostGet-Command -Noun Path
Join-Path
Resolve-Path
Split-Path
Test-Path
Join-Pathの例
ここに、特定のフォルダーをどのドライブがホストしているかを見つける美しいスクリプトがあります。
Clear-Host$Folder = "Stuff"Get-PSDrive | Where-Object {$_.root -match ":\\" -and (Test-Path $(Join-Path $_.root $Folder))}
注8: “Stuff “を探しているフォルダの名前に変えてください。
例: $Folder = “Program Files”
PowerShellの実際のタスクをもっと見る
PowerShell Test-Path Cmdletの概要
PowerShell Test-Pathの古典的な仕事は、ファイルが存在するかどうかをチェックすることです。 しかし、レジストリ パスをテストしたり、特定の拡張子を持つファイルを検索したりすることで、その有用性を拡張することができます。
その他の Microsoft PowerShell チュートリアルを見る。
– PowerShell Home – Test-ServerHealth – Test-SystemHealth – Test-Connection – Test-Path
– PowerShell Logon Script – PowerShell add printer – PowerShell Schedule Task – Free CSVDE Tool
– Map Network Drive – Exchange 2010 PowerShell Cmdlets – Exchange 2010 Performance Monitor
もっと良いスクリプトの例があれば、メールで教えてください。 また、事実誤認、文法的な誤り、リンク切れなどがあれば、ご報告ください。