ファイルのタイムスタンプごとにyyyymmdd形式でフォルダを作成して整理するためのPowerShellスクリプト

写真の整理とかに使うと便利かも。

# ファイルを整理するフォルダのルートパス
$rootFolder = "C:\Path\To\Root\Folder"

# フォルダ内のファイルを取得
$files = Get-ChildItem -Path $rootFolder | Where-Object { $_.PSIsContainer -eq $false }

# ファイルをタイムスタンプごとのフォルダに移動
foreach ($file in $files) {
    # ファイルの最終更新日時を取得
    $fileTimestamp = $file.LastWriteTime

    # タイムスタンプフォルダのパスを生成(yyyymmdd形式)
    $timestampFolder = Join-Path -Path $rootFolder -ChildPath $fileTimestamp.ToString("yyyyMMdd")

    # タイムスタンプフォルダが存在しない場合は作成
    if (-not (Test-Path -Path $timestampFolder)) {
        New-Item -Path $timestampFolder -ItemType Directory
    }

    # ファイルをタイムスタンプフォルダに移動
    $destination = Join-Path -Path $timestampFolder -ChildPath $file.Name
    Move-Item -Path $file.FullName -Destination $destination
}

Write-Host "ファイルの整理が完了しました。"

いいなと思ったら応援しよう!