コマンドラインでの使い方
最終更新日:2026年11月15日
ShrinkCheck は、ウィンドウを出さずに、登録した場所をまとめて再圧縮できます。cron や launchd から定期的に実行すれば、新しく増えたファイルも放っておくだけで圧縮されます。
登録は、ふだんどおりアプリの画面で行います。コマンドラインで行うのは、登録済みの場所の再圧縮だけです。
1. 実行のしかた
アプリの本体を直接実行します。アプリケーションフォルダに入れている場合は、次のとおりです。
/Applications/ShrinkCheck.app/Contents/MacOS/ShrinkCheck --auto-recompress
使えるオプションは次の 3 つです。
--auto-recompress:登録済みの場所を再圧縮して、終わったら終了します--help:使い方を表示します--version:バージョンを表示します
実行すると、始めと終わりに 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. 安全のための動き
- 編集中かもしれないファイルは触りません:直近 30 分以内に更新されたファイルはスキップします。開いて編集中のファイルを圧縮して、保存のしかたによっては変更が巻き戻るのを防ぐためです。
- 実行の前に確認します:画面から使うときと同じく、停止情報を確認し、この Mac で圧縮の動作確認に合格しているかを確かめます。まだ合格していなければ、先に動作確認を行います(最大 30 秒)。止めるべき場合は、何も圧縮せずに終了します。
- 1 件ずつ処理します:ほかの作業の邪魔にならないよう、画面からの圧縮(8 並列)とは違って、1 件ずつ処理します。
- 縮まないファイルは試しません:以前に縮まなかったファイルや、2 GB を超えるファイルはスキップします。
- ほかのアプリが使っているファイルは変更しません:スキップして、終わりの行の「使用中スキップ」に数えます。
コマンドラインでの実行は、アプリの「履歴」には記録しません。結果は表示される行(またはログファイル)で確認してください。
4. 終了コード
結果は終了コードでも分かります。cron のメール通知や、スクリプトでの判定に使えます。
0:最後まで処理した(対象が 0 件だった場合も含む)1:処理できなかったファイルがあった、または登録した場所を読み込めなかった2:停止情報に該当したため、何も圧縮しなかった3:圧縮の動作確認に合格しなかったため、何も圧縮しなかった4:動作確認を最後まで行えなかった(時間切れ、空き容量不足)ため、何も圧縮しなかった。次回の実行でもう一度試します
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
登録した場所はそのまま引き継がれるので、登録し直す必要はありません。
