プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
Windows PowerShell、ファイル・フォルダの存在チェック
結論から書くと「Test-Path」を使って

Test-Path [ファイル名 or フォルダ名]

とすればOKです。

それでは、詳細を書いていきます。

諸般の事情により、Windows PowerShellを使って
ファイルやフォルダの存在チェックをしたくなりましてね。
調べてみました。

Google先生、よろしくです(-人-)

ふむふむ(--)

Test-Path [ファイル名 or フォルダ名]

で良いようです。
ファイルやフォルダがあれば「True」、なければ「False」が返ってきますφ(--)

20140920-01.png


基本的な使い方はこれだけなのですが、せっかくなので豆知識を書いておきましょう。

「-PathType」オプションを付けて

Test-Path [ファイル名 or フォルダ名] -PathType [種類の指定]

とすることで、ファイルを探すのか、フォルダ(やレジストリ)を探すのか指定できます。

Test-Path hoge.txt -PathType Leaf

とすればファイルを

Test-Path hoge.txt -PathType Container

とすればフォルダ(やレジストリ)を探してくれますよ。

存在チェックする対象としてファイル名を指定しているのに「-PathType Container」を指定したり、
フォルダ名を指定しているのに「-PathType Leaf」を指定すると必ず「False」が返ります。
例えば、こんな結果になりますφ(--)

20140920-02.png


あと、実は「-PathType」の文字をすべて書く必要はありません。
「-PathT」まで書けば動きますφ(^^;

20140920-03.png


オプションは一意に識別できる部分まで書けば大丈夫っぽいですね。

あっ、そうそう。
ついでなんで書いておくと「Test-Path」はレジストリ値の存在チェックにも使えます。
例えば

Test-Path HKLM:\SOFTWARE\Microsoft

を実行すると、結果は「True」になります。

20140920-04.png


与太話はこれくらいにしておきますかね。

最後にもう一度まとめると、ファイルやフォルダの存在チェックは

Test-Path [ファイル名 or フォルダ名]

で行えます。
オプションはいろいろありますが、気にしなくても大丈夫です。

そんな感じ\(--)/
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:● Windows PowerShell  thema:システム開発 - genre:コンピュータ  Posted by ササキマコト 

  関連記事