ディレクトリ情報取得
ディレクトリの情報を調べるコマンドです。
ディレクトリ一覧取得
- [-Filter] 引数に設定している文字列 "*" はワイルドカードです。
- ディレクトリの場合、PSIsContainer は True になっています。
- Attributes -eq "Directory"
## 調べたいフォルダにカレントディレクトリを変更
cd C:\Users\ishikawa\Documents
## ディレクトリ一覧取得(サブディレクトリ含まず)
Get-ChildItem -Filter * | Where-Object { $_.PSIsContainer }
### ↓↓↓ 省略した記述 ↓↓↓
dir * | ? PSIsContainer
### 一番短い記述
dir -Directory
## ディレクトリ一覧取得(サブディレクトリ含む)
Get-ChildItem -Filter * -Recurse | Where-Object { $_.PSIsContainer }
### ↓↓↓ 省略した記述 ↓↓↓
dir * -Recurse | ? PSIsContainer
### 一番短い記述
dir -Recurse -Directory
## ディレクトリ一覧を変数に格納 (型は省略可能)
$Path = "C:\Users\ishikawa\Documents"
[System.IO.DirectoryInfo[]] $dirs = dir $Path -Recurse -Directory
ファイル情報取得
ファイルの情報を調べるコマンドです。
ファイル一覧取得
- [-Filter] 引数に設定している文字列 "*" はワイルドカードです。
- ファイルの場合、PSIsContainer は False になっています。
- Attributes -ne "Directory"
## 調べたいフォルダにカレントディレクトリを変更
cd C:\Users\ishikawa\Documents
## ファイル一覧取得(サブディレクトリ含まず)
Get-ChildItem -Filter * | Where-Object { !$_.PSIsContainer }
### ↓↓↓ 省略した記述 ↓↓↓
dir * | ? PSIsContainer -eq $false
### 一番短い記述
dir -File
## ファイル一覧取得(サブディレクトリ含む)
Get-ChildItem -Filter * -Recurse | Where-Object { !$_.PSIsContainer }
### ↓↓↓ 省略した記述 ↓↓↓
dir * -Recurse | ? PSIsContainer -eq $false
### 一番短い記述
dir -Recurse -File
## ファイル一覧を変数に格納 (型は省略可能)
$Path = "C:\Users\ishikawa\Documents"
[System.IO.FileInfo[]] $files = dir $Path -Recurse -File
ファイル一覧からの情報抽出
ファイル一覧を格納した変数を利用して情報を抽出します。
ファイル数取得
## ファイル数
($files | measure).Count
ファイル最終更新日の最大と最小
## ファイル最終更新日
dir -File -Recurse | measure LastWriteTime -Maximum -Minimum
ファイル拡張子の一覧取得
## 拡張子の一覧
$files | sort Extension -Unique | select Extension
ファイル一覧を CSV に出力
## ファイル一覧を CSV に出力
$files | select FullName, DirectoryName, Name, BaseName, Extension, Length, IsReadOnly, CreationTime, LastAccessTime, LastWriteTime | epcsv "Files.csv" -Encoding UTF8 -NoTypeInformation
フィルタを指定して検索
## フィルタを指定して検索
Get-ChildItem -Path 'C:\Users\admin\Pictures' -Filter *.jpg?
### 一番短い記述
dir C:\Users\admin\Pictures *.jpg?
複数の拡張子で絞り込む
## 複数の拡張子で絞り込む
dir C:\Users\admin\Pictures -File -Recurse -Include *.jpg, *.jpeg, *.png