#!/bin/bash
# スクリーンショットファイル名を変換するスクリプト
# 変換前: スクリーンショット 2026-01-11 18.44.15.png
# 変換後: 20260111184415.png
# 対象ディレクトリ(引数がなければカレントディレクトリ)
TARGET_DIR="${1:-.}"
# ドライラン(-n オプションで実行時は変更せずプレビューのみ)
DRY_RUN=false
if [[ "$1" == "-n" ]]; then
DRY_RUN=true
TARGET_DIR="${2:-.}"
fi
cd "$TARGET_DIR" || exit 1
count=0
for file in スクリーンショット\ *.png; do
# ファイルが存在しない場合はスキップ
[[ -e "$file" ]] || continue
# ファイル名から日時部分を抽出して変換
# "スクリーンショット 2026-01-11 18.44.15.png" → "20260111184415.png"
new_name=$(echo "$file" | sed -E 's/スクリーンショット ([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2})\.([0-9]{2})\.([0-9]{2})\.png/\1\2\3\4\5\6.png/')
if [[ "$file" != "$new_name" ]]; then
if $DRY_RUN; then
echo "[プレビュー] $file → $new_name"
else
mv -n "$file" "$new_name"
echo "変換: $file → $new_name"
fi
((count++))
fi
done
if [[ $count -eq 0 ]]; then
echo "変換対象のファイルが見つかりませんでした"
else
if $DRY_RUN; then
echo "---"
echo "$count 件のファイルが変換対象です(プレビューモード)"
else
echo "---"
echo "$count 件のファイルを変換しました"
fi
fi