昨日から、Xbox Game Passにて「Forza Horizon 6」を楽しんでいますが、一つ不便だなと思ったのが、Xboxのスクリーンショットは、そのままだとサイズが大きすぎて、ブログ用に向かないことでしたw
という事で、DIYプログラマーとしては、効率化の道を探りましたw
なお、このスクリプトはスクリーンショットファイルの移動等をともなうため、ご利用は自己責任でお願いいたします。
もし同じお悩みをお持ちの方がいらっしゃれば、お役に立てていただけると、ありがたいです。
Xboxのスクリーンショットは、デフォルト設定で同じMSアカウントでログインしているWindows PC上の、OneDriveの
「C:\Users\ユーザー名\OneDrive\画像\Xbox Screenshots」
に保存される形になっているのですが…上記の通りサイズの問題があります。
後は、細かい点なのですが…
XboxスクリーンショットのOneDriveへの保存時に、ファイル名にスクリーンショットを撮った日時が入っているのですが、それがUTC(世界標準時)のため、日本人には違和感があります。
そこを、$jstTimestamp = $utcTimestamp.AddHours(9).ToStringの部分で+9時間して、日本標準時に修正しています。
日本語が理解できて、日本国外在住の方がいらっしゃれば、その部分をご自身のタイムゾーンに併せて設定していただけます。
そんなわけで、PNGファイルをサイズ変更・JPG化し、容量の圧縮を実施しています。
ついでに、HDR環境ではJXR形式のファイルも同時に作成されるのですが、OneDrive使用量を削減するため、JPG変換後に元ファイル(PNG/JXRファイル共)は、NAS等のバックアップ領域に移動させています。
具体的なコードの使い方ですが
この部分を、ご自身の環境に合わせて、変更してください。
設定する値は、プログラム内のコメントの通りです。
その後、タスクスケジューラーを使って、こんな感じでスクリプトの実行環境を設定します。
今回は、Windows PowerShellのスクリプトなので、Windows標準のPowerShellを使います。
引数には、-NoProfile -WindowStyle Hidden -File "保存したスクリプトのファイルパス"
を入れてやります。
スケジュールは、「5分ごとに実行」に設定しています。
タスクの作成が完了すると、5分ごとにスクリプトが動き出して、あら不思議!
ブログ投稿用画像のできあがり!といった感じですw
どうしても、OneDriveにバックアップを残しておきたいという方は、移動処理部分のロジックを削除していただければと思います。
というわけで、皆様もよきForzaライフをお過ごしくださいw












