🌟
【PowerShell】年月日の日付フォルダをつくってみた
1.記事を読んでできるようになること
例えば、以下のような課題をサクッと解決できる。
- 2013年から2023年のフォルダを作って、各フォルダの中に1月~12月のフォルダを作りたい。
- さらに月フォルダの中に日数フォルダも作りたい。ただし、うるう年なども考慮して日数フォルダを作りたい。
2.処理の流れ
- 作成したい年月日の開始~終了日を用意する。
- 開始日の年、月、日を取得し変数に格納する。
- 変数名のフォルダを作成する。
- 日付をインクリメントして終了日までフォルダ作成をループする。
3.作成したコード
make_dateDir.ps1
#フォルダ作成先を設定
$path = "C:\Work\Test"
if (!(Test-Path $path)){
New-Item $path -ItemType Directory | Out-Null
}
#作成するフォルダの開始日と終了日を設定
$start_day = [Datetime]"2013/01/01"
$stop_day = [Datetime]"2023/12/31"
#年月日フォルダ作成
for ($i = 0; $start_day.AddDays($i) -le $stop_day ; $i++) {
$tmp_day = $start_day.AddDays($i).ToString("yyyyMMdd")
$y = $tmp_day.Substring(0, 4)
$m = $tmp_day.Substring(4, 2)
$d = $tmp_day.Substring(6, 2)
$dir = Join-Path $path $y | Join-Path -ChildPath $m | Join-Path -ChildPath $d
if (!(Test-Path $dir)) {
New-Item $dir -ItemType Directory | Out-Null
}
}
4.できあがるもの
問題なく年月日ごとにフォルダが作成された。
うるう年の対応もバッチリ。
5.参照リンク
Discussion