# ------------------------------------------------------------------ # 日付でファイルのローテーションを行う # 関数名:Rotate-Daily # 引数 :FilePath ファイルパス # :DailyRollingFormat 日付フォーマット(デフォルト:yyyy-MM-dd) # 戻り値:なし # ------------------------------------------------------------------ function Rotate-Daily([String]$FilePath,[String]$DailyRollingFormat = "yyyy-MM-dd"){ # ファイルが存在する場合 if(Test-Path -LiteralPath $FilePath -PathType Leaf){ # ファイル作成日 $creationDate = $(Get-ItemProperty $FilePath).CreationTime.ToString($DailyRollingFormat) # 現在日付 $currentDate = Get-Date -Format $DailyRollingFormat # ローテート対象 if($creationDate -ne $currentDate){ $dailyRollingName = (Split-Path $FilePath -Leaf) + "." + $creationDate $dailyRollingPath = Join-Path -path (Split-Path $FilePath -Parent) -ChildPath $dailyRollingName Move-Item -LiteralPath $FilePath -Destination $dailyRollingPath -Force } } }