PowerShellでPicturesフォルダのスクリーンショットファイルを日付フォルダに分類する。

powershell7 コンピュータ
powershell7
<#
.SYNOPSIS
スクリーンショット画像を日付フォルダに分類
<CommonParameters> はサポートしていません

.DESCRIPTION
スクリーンショット画像を日付フォルダに分類

.EXAMPLE
SCtoDate.ps1

.LINK
#>

param(
    [string]
    $TargetDir =  (Join-Path $env:USERPROFILE "Pictures\スクリーンショット")
)
$ErrorActionPreference = "STOP"

Get-ChildItem -LiteralPath $TargetDir | Where-Object {
    -not ($_.PSIsContainer)
} | ForEach-Object {
    $in = $_.FullName
    $date = ($_.LastWriteTime).ToString("yyyyMMdd")
    $outDir = Join-Path $TargetDir $date
    if(-not (Test-Path $outDir)){
        New-Item $outDir -ItemType Directory
    }
    $out = Join-Path $outDir $_.Name
    Move-Item -Path $in -Destination $out
}

コメント