PowerShellの開発でお困りのことはありませんか?
そんな悩みは
当サイトで解決!!
01.ファイルの一覧を表示する Part1
UPDATE:2007/12/12
指定したディレクトリのファイル一覧を表示するには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
|