振る舞いを変えるには
v0.0.0〜
詳しい人向けの解説です。
どういうことができるの?
tofss
は実のところ 「指定ディレクトリ内のファイル名を正規表現allowして正規表現denyしたファイルリストを対象に、mtimeを日時書式化したファイル名タイトルにリネームする」 ツールです。
プログラム引数(argument)と環境変数と設定ファイルの3つで振る舞いを変えることができます。
これにより、仕様変更や別のゲームの画像ファイルなどに応用できます。
リネームディレクトリの指定
tofss
で実行すると、argumentを強制的に.
で実行します。つまり常にカレントディレクトリだけです。
tofss.jar
をjava
コマンドで起動するとargument指定ができます。
引数を指定すると、それらをすべて「リネームするディレクトリへのパス」と認識します。
引数なしで実行するとUsageメッセージを表示します。
環境変数TOFSS_ALLOW
と設定ファイル.tofss/allow.txt
リネーム対象として拾うファイル名の正規表現パターン記述として扱います。
- デフォルトは
^\d{5}\.png$
- 環境変数
TOFSS_ALLOW
- リネームディレクトリの
.tofss/allow.txt
(最初の1行だけ有効)
この順で設定するので、allow.txt
が一番優先度が高いです。
JAVA仕様の正規表現パターン記述です。
AIに「JAVA言語の正規表現にパターンマッチする記述を教えてください。次の文字列を入力します:...」って聞けば教えてくれます。 JAVA言語固有の箇所も考慮してくれますが、コード内記述、つまり正規表現エスケープをコード記述文字列用エスケープ処理している記述で答えてきたら、コード記述のエスケープを外した記述にしてください。
環境変数TOFSS_DENY
と設定ファイル.tofss/deny.txt
allowの拒否パターンです。
優先順位はallowと同じです。
デフォルトは\d{8}\+\d{6}
で、すでに1回リネーム実行したっぽいファイル名は除外しています。
allowで拾われることはないので蛇足ですが「絶対にマッチしない条件を書くのもなんかアレだなあ」と思ってこれに設定しました。
環境変数TOFSS_TITLE
と設定ファイル.tofss/title.txt
ファイル名のタイトル部分の日時パターンを変更できます。
具体的にはDateTimeFormatter.ofPattern(String)
に与えるパターンテキストを指定することができます。
優先順位はallowなどと同等です。
デフォルトはyyyyMMdd+HHmmss
ですが、'tof@'yyyyMMdd+HHmmss
なんて指定もできます。
細かいところはAIさんに聞いてください。