Windowsでスクショをどこかに格納するまでの前処理

Windowsのスクショ管理までについてのメモ

ファイルサイズの削減は不可逆なので、気になる場合はサイズの削減はしないほうがいいかもしれない。

全体の流れ

Windows環境における個人的に満足しているスクショ整理につながる方法をメモしておく。

最終的にはスクショをどこかに保存するが、その保存をするまでの前処理についてのメモとなる。

全体の流れとしては、

  1. Win+PrintScreenでスクショを撮影する。
  2. 自動でスクショがリネームされる。
  3. 定期的に(あのパンダなサイトでも使われているとも聞くアルゴリズムで)品質をなるべく下げずにファイルサイズを削減する。
  4. ファイル名に応じて保管先へ移動する。

といった感じ。すぐに消費するスクショなら2の段階で取り出して終わりだが、何となく撮ったものや保管目的で撮ったものは4の段階まで進む感じになる。

以降はこれらの詳細を記述していく。

使うショートカットキー

スクリーンショットを撮るにはいくつかのショートカットキーがある。キーによって保存先が違ったり、ペイントなどでペースト作業が必要だったりするので、1つのショートカットキーで統一したほうがいい。

自分はWin+PrintScreenを使うことにしている。

この方法で撮影するスクリーンショットの保存場所はデフォルトだと%UserProfile%\Pictures\Screenshotsであり、Screenshotsフォルダのプロパティを開いて、場所タブを見てみると確認でき、変更もできることがわかる。

また、スクリーンショットはこのままだと無駄に容量がデカい(HDサイズで2MBくらいの場合がある)ので、下のコマンドでpngで使うパレット数を減らし、ファイルサイズを70%ほど削減する。一般的人間が見る分には変化はわからないらしい。実際わからない気がする。

自動リネーム

拙作のWindows向けGUIアプリを使って、スクリーンショットの保存時にスクショの自動リネーム(そしてフォルダ移動も)を行う。

このアプリは指定したフォルダを監視し、PNG画像が追加されると、最前面にあるウィンドウの名前をそのファイル名に埋め込んで、指定した子のフォルダに移動するというもの。

監視動作中にウィンドウを閉じるとタスクトレイにしまえる。スタートアップへの指定は手動で行う方針になっている。

以下のGitHubのリリースページにおいてある:

GitHub - ikapper/ssrenamer
Contribute to ikapper/ssrenamer development by creating an account on GitHub.

pngファイルのサイズ削減

pngquantというコマンドでpngファイルのサイズを圧縮する。pngファイルは色情報を管理するパレットを使用して画像を保存しているが、このパレットの色数を削減するようだ。

WindowsでもWSLでも使用できるようだ。自分はWSLのubuntuのパッケージマネージャからインストールして使っている。以前書いたインストールや使い方などの記事:

pngquantを使ってpng画像を違和感少な目にサイズ圧縮する
pngquantを使ってpngファイルを違和感少な目にファイルサイズを小さくする。 概要 あのパンダの画像圧縮サイトtinyPngもこれが使っているアルゴリズムでサイズを圧縮しているらしい。7割くらいのサイズ削減が期待できる。 インストール...

各プラットフォーム向けのバイナリは公式ページからダウンロードできる:

pngquant — lossy PNG compressor

WSLであれば、コマンドが使える準備ができれば、以下のようなコマンドで上でファイル名の変更まで済んでいるスクショのサイズ削減を行うことができる:

find <path_to>/Screenshots/ssrename/ -type f -path "*.png" -exec bash -c 'pngquant --output "<path_to>/Screenshots/ssrename_shrinked/$(basename "$0")" --speed 1 "$0"' "{}" \; && rm <path_to>/Screenshots/ssrename/*.png

<path_to>は適宜に置き換えて使う。一般的にはユーザー名をuser1とすれば、/mnt/c/Users/user1/Picturesになる。

これは、ssrenameフォルダの中身を変換して、ssrename_shrinkedフォルダに格納を行い、最後にオリジナルのpngファイルを削除する。事前に移動先フォルダ(ここではssrename_shrinked)を作成しておく必要がある。 pngquant自体には、オリジナルのファイルを消去するオプションはないようなので、最後に消す作業を取り付けている。

違うフォルダに移すのは、pngquantを多重に通さないため。不定期に実行し、新しいのがまた不定期に追加されるのでこの方法がいいかと思っている。

crontabなどに定期実行できるように登録しておけば、自動でもできると思う。

最終保管場所へ

ファイルサイズの削減が終わったらあとはクラウドなり外部ストレージなりどこへでも保存しておけばいい。容量無制限なクラウドサービスを使っていると楽だと思う。

おわり

ぶっちゃけ、整理に手間取るくらいならスクショを撮る回数を減らすのがいいと思う。自分でもどうせ2回も見ないだろうと思いつつ撮ってしまうものが多い。

後で選別するのも面倒な場合が多いので、選別をいちいちしないためにもスクショをあまりホイホイ撮らないことが大事。

今回の作業はWindowsのターミナル・コマンドプロンプト・powershellなどのどれか1つだけでも完結できるが、WSLも普通に使える。

以上です。

タイトルとURLをコピーしました