コマンドラインでの使い方

最終更新日:2026年11月15日

ShrinkCheck は、ウィンドウを出さずに、登録した場所をまとめて再圧縮できます。cron や launchd から定期的に実行すれば、新しく増えたファイルも放っておくだけで圧縮されます。

登録は、ふだんどおりアプリの画面で行います。コマンドラインで行うのは、登録済みの場所の再圧縮だけです。

1. 実行のしかた

アプリの本体を直接実行します。アプリケーションフォルダに入れている場合は、次のとおりです。

/Applications/ShrinkCheck.app/Contents/MacOS/ShrinkCheck --auto-recompress

使えるオプションは次の 3 つです。

実行すると、始めと終わりに 1 行ずつ表示します。終わりの行には、件数と減った容量が出ます。

[ShrinkCheck] --auto-recompress: 登録項目 6 件を走査します
[ShrinkCheck] --auto-recompress 完了: 走査 1,520 件 / 成功 1,500 / 失敗 0 / 既圧縮スキップ 0 / 縮まずスキップ 12 / 使用中スキップ 8 / 削減 210 MB / 所要 18.4 秒

open -a ShrinkCheck --args --auto-recompress でも再圧縮はできます。ただしこの形では、表示される行も終了コードも受け取れません(返るのは open コマンドの結果です)。定期実行では、上のように本体を直接実行してください。

2. 定期的に実行する

launchd(おすすめ)

次の内容を ~/Library/LaunchAgents/local.shrinkcheck.autorecompress.plist に保存します。この例では、毎週日曜の 3:00 に実行し、表示をログファイルに残します。ユーザー名 の部分は、お使いの Mac のユーザー名に置き換えてください。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>local.shrinkcheck.autorecompress</string>
  <key>ProgramArguments</key>
  <array>
    <string>/Applications/ShrinkCheck.app/Contents/MacOS/ShrinkCheck</string>
    <string>--auto-recompress</string>
  </array>
  <key>StartCalendarInterval</key>
  <dict>
    <key>Weekday</key><integer>0</integer>
    <key>Hour</key><integer>3</integer>
    <key>Minute</key><integer>0</integer>
  </dict>
  <key>StandardOutPath</key>
  <string>/Users/ユーザー名/Library/Logs/ShrinkCheck-auto.log</string>
  <key>StandardErrorPath</key>
  <string>/Users/ユーザー名/Library/Logs/ShrinkCheck-auto.log</string>
</dict>
</plist>

ターミナルで次を実行すると、登録されます。

launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/local.shrinkcheck.autorecompress.plist

やめるときは、次を実行してから plist ファイルを削除します。

launchctl bootout gui/$(id -u)/local.shrinkcheck.autorecompress

launchd は、指定した時刻に Mac が眠っていた場合、起きたあとに実行します。

cron

crontab -e で次の 1 行を足すと、毎週日曜の 3:00 に実行します。

0 3 * * 0 /Applications/ShrinkCheck.app/Contents/MacOS/ShrinkCheck --auto-recompress

cron は、指定した時刻に Mac が眠っていると、その回を実行しません。

3. 安全のための動き

コマンドラインでの実行は、アプリの「履歴」には記録しません。結果は表示される行(またはログファイル)で確認してください。

4. 終了コード

結果は終了コードでも分かります。cron のメール通知や、スクリプトでの判定に使えます。

2〜4 のときは、理由をエラー出力に表示します。

5. 旧版(CmpfsCheck)から切り替えた方へ

v1.0.0 でアプリの名前が CmpfsCheck から ShrinkCheck に変わりました。cron や launchd に CmpfsCheck と書いている場合は、パスとアプリ名を書き換えてください。

# 旧
/usr/bin/open -a CmpfsCheck --args --auto-recompress
# 新
/Applications/ShrinkCheck.app/Contents/MacOS/ShrinkCheck --auto-recompress

登録した場所はそのまま引き継がれるので、登録し直す必要はありません。