PowerShellで、ファイル・フォルダ情報を表示するコマンドをまとめました。
カレントフォルダの移動
cd "C:\work"
DOSコマンドと同様に、cd でカレントフォルダを移動できます。
ファイル一覧の出力
カレントフォルダ直下のファイルとフォルダの一覧を出力
Get-ChildItem
ファイル名・フォルダ名のみを出力(ファイル・フォルダの属性は出力しない)
Get-ChildItem | Select-Object Name
ファイル名・フォルダ名およびファイルサイズを出力(フォルダサイズは出力できない)
Get-ChildItem | Select-Object Name,Length
ファイル・フォルダのフルパスを出力
Get-ChildItem | Select-Object FullName
ワイルドカード指定
Get-ChildItem -Filter *.csv
ファイルのみを出力(フォルダは出力しない)
Get-ChildItem -File
隠しファイルも出力
Get-ChildItem -Force
サブフォルダも出力(フォルダごとに分かれて出力される)
Get-ChildItem -Recurse
サブフォルダも出力(全てまとめてフルパスを出力)
Get-ChildItem -Recurse -File | Select-Object FullName
「-Recurse」を付けるとサブフォルダの情報が全て出力されます。
フォルダ名だけの行が出てくると見づらいので、「-File」を付けることを推奨します。
カレントフォルダ以外のフォルダを指定してファイル一覧を出力
Get-Childitem -Path "C:\test2"
「-Path “パス名”」で対象フォルダを指定できます。
あとは、上記コマンドを組み合わせれば、ワイルドカード指定やフルパス出力なども出来ます。
出力結果をテキストファイルに書き出す
Get-ChildItem > "c:\work\out.txt"
「>」以降に出力ファイルのフルパスを指定すれば、指定したファイルに書き出されます。
なお、存在しないフォルダを指定するとエラーになります。
出力結果をcsvファイルに書き出す
Get-ChildItem | Export-Csv -Encoding UTF8 "c:\work\out.csv"
「-Encoding UTF8」を付けることで、UTF-8形式で出力されます。
「-Encoding UTF8」を付けないと、日本語が文字化けします。
Get-ChildItem | Select-Object FullName, Length | Export-Csv -Encoding UTF8 "c:\work\out.csv"
上記で紹介したコマンドの組み合わせで、カレントフォルダ直下のファイルのフルパスおよびファイルサイズを出力します。
画面表示では途中で途切れてしまい、最後まで表示できない場合でも、csvファイルに書き出すと、きれいに書き出せます。
コメント