1 PowerShellの勉強
先日から、PowerShellをあれこれと試しています。最初は、PowerShellがどんなものか、さわりの部分だけでも分かればいいと思っていました。ところが、だんだんと欲が出てきました。少しだけ実際に使えるようなりたい、と。今のレベルで止めたら、何の意味もなさそうですし。

2 Get-ChildItemとは
そこで、PowerShellの中でもとても基本的なコマンドレット、「Get-ChildItem」のことを勉強しました。ファイル、ディレクトリなどを調べるコマンドレットです。
コマンドラインにGet-ChildItemと打ち込んで、Enterキーを押せば、カレントディレクトリにあるファイル、ディレクトリを一覧表示してくれます。パラメータの指定が全くなくても、デフォルトでカレントディレクトリにあるアイテムを取得します。
3 ファイルを抽出
Get-ChildItemのパラメータを使えば、いろいろできます。例えば、特定の種類のファイルの抽出などができます。カレントディレクトリ内の全てのtxtファイルを抽出する、といったことです。
その方法は1つではありません。複数の方法が考えられます。
【1】-Pathパラメータにワイルドカード使用
> Get-ChildItem ./*.txt
【2】-Includeパラメータにワイルドカード使用
> Get-ChildItem ./* -Include *.txt
【3】-Filterパラメータにワイルドカード使用
> Get-ChildItem . -Filter *.txt
4 -Includeパラメータ
上記の3つの内、【2】の-Includeパラメータを使う方法で、ちょっとつまづきました。
最初は、 > Get-ChildItem . -Include *.txt と、やっていました。
ところが、これではダメです。何も抽出されません。-Pathパラメータには、カレントディレクトリを指す「.」の記述だけではダメで、「.\*」と指定する必要があります。
Microsoftのオンラインヘルプで、次のように解説されています。
【Microsoftオンラインヘルプ】
Include パラメーターを使用する場合、Path パラメーターには、ディレクトリの内容を指定するために末尾のアスタリスク (*) ワイルドカードが必要です。たとえば、-Path C:\Test\* のようにします。
5 今後
PowerShellを、それほど深く学ぶつもりはありません。けど、Get-ChildItem くらいの基本中の基本は知っておいてもいいでしょう。
それではまた次の記事で。
goosyun
