HIRO's.NET

VB.NET, C#, PowerShell Tipsサイト

 VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。

 基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。

HIRO's.NET RSSHIRO's.NET RSS


PowerShellの開発でお困りのことはありませんか?
そんな悩みは当サイトで解決!!

HOME > PowerShell Tips > ファイル操作 Tips メニュー

01.ファイルの一覧を表示する Part1

 
UPDATE:2007/12/12    
 
<< 前のTips  次のTips >> 



指定したディレクトリのファイル一覧を表示するにはGet-ChildItemコマンドレットを使用します。

基本構文は

Get-ChildItem ディレクトリパス

ディレクトリパスは省略することが可能です。
省略した場合には、カレントフォルダのファイル一覧が表示されます。

Get-ChildItemの代わりに、gci, dir, ls と入力しても同じ結果が得られます。
これらはGet-ChildItemのエイリアスとして定義されています。

sample1ではフォルダ名を省略して Get-ChildItem コマンドレットを実行しているので、カレントフォルダの C:\Work にあるファイル一覧を表示しています。

sample1

PS C:\Work> Get-ChildItem


ディレクトリ: Microsoft.PowerShell.Core\FileSystem::C:\Work


Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 2007/12/11 22:05 FolderA
d---- 2007/12/11 22:05 FolderB
-a--- 2007/11/17 23:25 37 GetChildItem.ps1
-a--- 2007/11/17 23:58 37 GetRegSoft.ps1
-a--- 2006/11/03 21:13 9211 styles.css
-a--- 2007/05/08 23:00 32925 style_screen.css
-a--- 2007/11/04 23:15 6257 Table.css
-a--- 2007/12/10 23:26 34282 test.csv
-a--- 2007/10/31 23:44 1655296 Tips20071031.bak

次に、拡張子が css のファイルを取得してみます。
Get-ChildItemではワイルドカードを使用することが可能です。

sample2では、カレントディレクトリの拡張子がcssのファイルの一覧を取得しています。

sample2

PS C:\Work> Get-ChildItem *.css


ディレクトリ: Microsoft.PowerShell.Core\FileSystem::C:\Work


Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 2006/11/03 21:13 9211 styles.css
-a--- 2007/05/08 23:00 32925 style_screen.css
-a--- 2007/11/04 23:15 6257 Table.css

sample3 では、カレントディレクトリとそのサブディレクトリ下にある *.css のファイル一覧を取得します。
Get-ChildItemコマンドレットの右にあるドット(.)がカレントディレクトリを意味しています。カレントディレクトリ以外のパスを指定することも可能です。
-Include パラメータは *.css などのパス要素またはパターンを指定します。
-recurse パラメータは指定された場所にある項目と、その場所のすべての子項目を取得します。

sample3

PS C:\Work> Get-ChildItem . -Include *.css -recurse


ディレクトリ: Microsoft.PowerShell.Core\FileSystem::C:\Work\FolderA


Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 2007/12/11 22:10 0 style1.css
-a--- 2007/12/11 22:10 0 style2.css


ディレクトリ: Microsoft.PowerShell.Core\FileSystem::C:\Work\FolderB


Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 2007/12/11 22:10 0 style3.css
-a--- 2007/12/11 22:10 0 style4.css


ディレクトリ: Microsoft.PowerShell.Core\FileSystem::C:\Work


Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 2006/11/03 21:13 9211 styles.css
-a--- 2007/05/08 23:00 32925 style_screen.css
-a--- 2007/11/04 23:15 6257 Table.css

sample4 では 2つのフォルダから *.ps1 のファイル一覧を取得しています。
複数のフォルダから取得する場合は -path パラメータを使用します。

sample4

PS C:\Work> Get-ChildItem -path C:\Work2\*.ps1, C:\Work3\*.ps1


ディレクトリ: Microsoft.PowerShell.Core\FileSystem::C:\Work2


Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 2007/12/04 16:46 109 BMI.ps1
-a--- 2007/12/04 16:52 78 BMI2.ps1
-a--- 2007/12/06 10:10 66 DoLoop.ps1
-a--- 2007/12/06 9:57 66 DoWhile.ps1
-a--- 2007/12/04 17:14 41 func.ps1
-a--- 2007/12/03 16:23 85 Hello.ps1
-a--- 2007/12/03 17:26 118 IncludingTax.ps1
-a--- 2007/12/04 17:14 41 Triangle.ps1


ディレクトリ: Microsoft.PowerShell.Core\FileSystem::C:\Work3


Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 2007/12/12 9:57 0 Test.ps1
 
<< 前のTips  次のTips >>