忍者ブログ

雪見タウンに来た。

[0003]ニンテンドースイッチのスクリーンショットをbatでフォルダ別に分類しよう

スイッチのスクショ機能で撮ったスクショ、たくさんありすぎていちいち分類が面倒…
なのでbatファイルで自動分類してみた。
これを
名前変えて
フォルダへ分類!

とはいっても、ネットにあった書き方をコピッっただけですが!

仕組みとしては、スイッチのスクショはゲームごとに固有の文字列が設定されているので、
その文字列をゲーム名に変換

ゲーム名ごとにフォルダ分け
という流れだ。

以下参考にしたサイト
・バッチもん研究所 blog
ファイル名の置換(ファイル名の一部文字を別の文字に置き換える)
https://jak-san.hatenablog.com/entry/20090402/1238671393
・のぼゆエンジニアリング
リストに挙げた名前のフォルダを、一括して作る。更にファイルをそのフォルダに振り分ける。バッチ処理で一瞬
https://www.noboyu.com/2016-10-09-151841/
・emotion
MS-DOSのbat(バッチ)ファイルを起動すると文字化けする現象
https://emotion92.blog.fc2.com/blog-entry-200.html


ではやりかた
1.
まずスイッチのスクショ画像をパソコンに取り込みます
¥Nintendo¥Album のなかに日付ごとに入ってるので
検索ボックスに「
*jpg*mp4」と入力した後一括選択して切り取り移動
一個のファイルに全部突っ込んじゃいましょう

2.
次にスクショを移動させたフォルダ内にbatファイルを作ります
2個作るよ!
その1「ファイル名を変えるbat」
内容はこれです
echo off
for %%f in ( * ) do call :sub "%%f"
exit /b

:sub
set fname=%1
set fname=%fname:2428A6C9769590136A967E5C02F30BF5=20XX%
(ここに変換したい文字列とゲーム名をたくさん記入)
set fname=%fname:57B4628D2267231D57E0FC1078C0596D=本体・ニュース%
ren %1 %fname%
goto :EOF

batファイルの置かれているフォルダ内の画像のファイル名を変更するbatファイルです
スイッチのスクショのファイル名の文字列はゲームに対応しており、例えば
57B4628D2267231D57E0FC1078C0596D

本体・ニュース
のスクリーンショットなわけですね
ここで変更後の名前は振り分け先のフォルダと一致してないといけません 理由は後述

その2「ファイル名ごとにフォルダに振り分けるbat」
内容はこれです
@echo off
pushd %~dp0
for /f %%i in (namelist.txt) do mkdir %%i
for /f %%j in (namelist.txt) do move "*%%j*"
%%j
exit

これは「namelist,txt」の中の文字列を見て、
文字列が含まれているファイルをその文字列の名前のフォルダに入れるという処理ですね(知ったか
ではそのリストの中身はというと・・・
「ファイル名リスト」

こんな感じ

注意点
その1 batファイルはSJISで保存すること!UTFとかだとファイル名リストの日本語を正しく読み取ってくれないようです!SJISでの保存はWINDOWSのメモ帳ではできなかったかも
その2 ファイル名の書き方に気を付けること 具体的には
「餓狼伝説」「画廊伝説スペシャル」みたいな同一の文字列が含まれるものはバグります
「セガエイジス_初代ソニック」「セガエイジス_タントアール」みたいなのは大丈夫なようです
スペースも空白ではなく_や_を使ったほうがいいかも

以上 よいゲームライフを

拍手[0回]

PR

コメント

プロフィール

HN:
雪見タウン
性別:
非公開

RSS

P R