0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PowerShell で溜まりすぎたスクショを年月で振り分ける

Posted at

TL;DR

Date2Folder.ps1

  • あるフォルダ以下の全てのファイルを日付・時刻別にサブフォルダへ移動する PowerShell のスクリプトです
  • サブフォルダにしない、日ごとに整理するカスタマイズができます
  • 溜まりすぎるスクリーンショットの整理などにお使いください

背景

Windows では Win + Shift + S を同時に押すとスクリーンショットが撮れて、C:\Users\[ユーザ名]\Pictures\Screenshotsにスクリーンショットが png 形式で保存されます。これはこれで便利なのですが、溜まりすぎて放置していると大変な数のスクリーンショットが1つのフォルダに溜まってしまうので、「最新のスクショをアップロードしたい」ときにエクスプローラーがソートしてくれるのを待つ必要があります。

エクスプローラーがソートする対象はフォルダ直下のファイルのみですから、

  • 日付でまとめてフォルダ以下のファイルを減らしてソート対象を減らす
  • 古いスクショは zip で固めやすいようにフォルダにまとめる

スクリプトを作ることを試みました。

いまの状態

PS > tree /F C:\Users\nitcelcius\Pictures\Screenshots
    スクリーンショット 2025-04-02 130520.png
    スクリーンショット 2025-04-03 092551.png
    スクリーンショット 2025-04-03 092555.png
    スクリーンショット 2025-04-03 173124.png
    スクリーンショット 2025-04-03 182248.png
    (以降1300行略)

エクスプローラーでこのフォルダを開くと、およそ3秒ほどで以下のように整理されます。このときファイルの選択に時間をとっていると突然マウスの下にいるファイルが変わってつらいです(Layout Shift)

とんでもない数のスクリーンショットと名付けられたファイルが並ぶエクスプローラーの画面

実行して整理する

Date2Folder.ps1 をダウンロードしてお好みのエディタで開き、以下の設定を変更します。

とくに SourceDest は入出力の対象を指定するので、コピペして実行する前に目を通してください。

# 日付時刻の基準。LastWriteTime は更新日時
$FolderByAttribute = [FileDateAttribute]::LastWriteTime
# どのレベルでフォルダを作成するか。Monnth は 年/月 の形式
$AttributeDetailLevel = [DateTimeLevel]::Month
# フォルダ名の区切り文字。/ を指定することで年と月を / で区切ってサブフォルダにする
$FolderNameDelimiter = "/"
# 移動元フォルダ
# ここでは、現在のユーザのスクリーンショットフォルダ
$Source = Join-Path -Path $env:USERPROFILE -childPath "Pictures/Screenshots"
# 移動先フォルダ
# ここでは、現在のユーザの「ピクチャ」下「Screenshots-org」フォルダ (新規作成します)
$Dest = Join-Path -Path $env:USERPROFILE -childPath "Pictures/Screenshots-org"
# 移動ログを出力しない
$IsVerbose = $false
# 実際に移動する (dry-run しない)
$IsDryRun = $false

PowerShell を開いて以下の通り実行します。

./Date2Folder.ps1

結果

$Dest 以下に 年/月 の形式でフォルダが作られ、対応する年月のスクショがサブフォルダにまとまりました :tada:

PS > tree /F C:\Users\nitcelcius\Pictures\Screenshots-org
├───2017
│   ├───01
│   ├───02
│   ├───03
│   ├───05
│   └───06
├───2018
│   ├───02
│   ├───03
│   └───04
(以下32行略)

年号のフォルダと少ないファイルが並んだエクスプローラーの画面

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?