Windowsロック画面の画像を保存する方法 - Windowsスポットライト画像取得batを書いてみた
Windows10のロック画面に表示される美しい画像を壁紙等で利用できるjpgファイルとして取得する簡易ツール(システム領域上に格納されている見えないファイルを画像として扱えるファイルとして取得するbatプログラム)を作ってみた。
Motivation
ロック画面に表示される画像に、日々癒やされている私はこの画像を壁紙としても使用したいな、と思っています。これらの画像はWindowsのシステム領域上に格納されているため、その領域をたどれば画像ファイルを得ることができますが、直接プレビューできない形で格納されているため、結構面倒くさい。
そこで、この手順を自動化するbatを書いてみた。
ソースコード
2018.03.09追記
今更ながら、00:00~09:59(1桁時間帯)で正常に動作しないことに気がついたので、ソースコードを修正しました。
GetSpotlight.bat
@echo off
: -------------------------------------
: GetSpotlight.bat
: -------------------------------------
: set target folder path
set folder=C:\spotlight
: check target folder not existed
if not exist "%folder%\" (
: create target folder
mkdir %folder%
)
: create subfolder
set yyyy=%date:~0,4%
set mm=%date:~5,2%
set dd=%date:~8,2%
set time2=%time: =0%
set hh=%time2:~0,2%
set mn=%time2:~3,2%
set ss=%time2:~6,2%
set subfolder==%folder%\%yyyy%%mm%%dd%%hh%%mn%%ss%
mkdir %subfolder%
: copy spotlight files to target subfolder
copy %LOCALAPPDATA%\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalState\Assets\* %subfolder%
: change suffix to jpg
ren %subfolder%\* *.jpg
使用方法
- “GetSpotlight.bat” のソースコードをテキストエディタに貼り付ける
- コード中の画像出力先
set folder=C:\spotlight
のC:\spotlight
を任意のフォルダパスに書き換える - 任意の場所に “GetSpotlight.bat"として保存する
- 作成した"GetSpotlight.bat” をダブルクリックで実行する
- 指定したフォルダにタイムスタンプ付サブフォルダが作られ、その中にWindowsスポットライト画像を含む画像ファイルが格納される
- 気に入った画像を選ぶ
処理内容
処理内容は極めて単純。Windowsスポットライト等のファイルが格納されているWindowsのシステム領域を参照し、そこのファイルを指定したフォルダにcopyコマンドでコピーしているだけ。
システム領域上には拡張子なしの形式で格納されているため、コピー先でリネームコマンド(ren)を使用し、ファイルの末尾に一括で".jpg" を付与しています。リネーム前の状態では画像ファイルと画像でないファイルを識別できないため、画像でないファイルについても、一括で".jpg" の拡張子を設定してしまっています。出力ファイルを目検で確認して、不要なものは捨てていってください。
注意点
出力先フォルダには、スポットライト以外の画像や画像ファイルでないものも含め、すべて画像ファイル形式(.jpg)として出力されます。画像閲覧・編集ソフト等で開く場合は、事前にエクスプローラーのプレビュー表示等で画像として表示されているものを確認の上、開くようにしてください(画像でないもの(プレビューが表示されないもの)を画像閲覧・編集ソフトで開こうとすると予期せぬエラー発生の恐れがあります)。
本ツールの使用によるいかなる損害に対しても一切責任は負いません(念のため)。