SSP起動時にお気に入りのゴーストをランダムに起動する方法

2025/12/27

3行で要約

  • 自分はSSPのフォルダ機能でゴーストを起動頻度や企画別にフォルダ分けしている
  • 今のところSSPの機能では特定フォルダからランダムにゴーストを起動することは(多分)できない
  • バッチファイルを作成することで実現できた

まえがき

SSPにはランダムなゴーストを起動してくれる便利な機能がありますが、全ゴーストの中からではなく特定のフォルダの中からランダムに起動したいと思ったことはないでしょうか。私はありました。

いろいろ調べてみたものの、SSP標準の機能だけでは実現できなさそうだったので、バッチファイルを書いて解決することにしました。この記事ではその方法を紹介します。

同じことをやりたい方の参考になれば幸いです。

前提

SSPの便利機能

SSPでは、設定項目
設定 → ゴースト(1) → ゴーストを1つランダムに選択して起動(前回終了時の状態は破棄)
をオンにすることで起動時にランダムなゴーストを起動することができます。普段起動しないゴーストに偶然会える便利な機能だと思います。

自分の環境

SSPはフォルダ機能によりゴーストを複数のフォルダに分割して配置することができます。
私はこれを使って特によく起動するゴーストたちをFavoriteフォルダに区分けしています。

お気に入りフォルダ内のゴーストからランダムに起動したい

あるとき、起動時にランダム起動するゴーストの候補をお気に入りフォルダに絞りたいと考えました。

フォルダ設定 ランダム切り替えの対象にしない をオンにする(失敗)

フォルダ設定には「ランダム切り替えの対象にしない」というものがあったため、お気に入りフォルダを除く全てのフォルダでこれをオンにしました。
しかしこれで防げるのはさくらスクリプト \+ によるランダム起動などで、上記のランダム起動は適用対象外のようでした。

起動オプション /g とバッチファイルを組み合わせる(成功)

SSPの起動オプション では、/g オプションを指定することで起動時に指定したゴーストを起動できます。
つまり外部スクリプトで候補の中から1つゴーストを選択する処理を作ることができれば、上記機能と組み合わせることで「お気に入りフォルダ内のゴーストからランダムに起動」は実現できそうです。

→できました。

@echo offchcp 65001 >nulsetlocal enabledelayedexpansionrem === 設定 ===set "SSP_DIRECTORY=C:\Users\user1\Ukagaka\ssp"set "GHOSTS_DIRECTORY=C:\Users\user1\Ukagaka\Ukagaka-Ghost\Favorite"rem === ゴーストフォルダ直下のディレクトリを列挙してカウント ===set count=0for /d %%d in ("%GHOSTS_DIRECTORY%\*") do (    set /a count+=1    set "dir_!count!=%%~nxd")rem === ディレクトリが見つからない場合 ===if %count%==0 (    echo エラー: %GHOSTS_DIRECTORY% にフォルダが見つかりませんでした。    pause    exit /b 1)rem === ランダムに1つ選択 ===set /a "rand=(%RANDOM% %% count) + 1"set "selected=!dir_%rand%!"rem === ssp.exe を実行 ===start "" "%SSP_DIRECTORY%\ssp.exe" /g "%GHOSTS_DIRECTORY%\%selected%"endlocal

使い方

メモ帳などで新規ファイルを作成し、上記コードをコピペします。
コードの冒頭にある設定部分は、各自の環境に合わせて書き換えてください。

set "SSP_DIRECTORY=C:\Users\user1\Ukagaka\ssp"set "GHOSTS_DIRECTORY=C:\Users\user1\Ukagaka\Ukagaka-Ghost\Favorite"
  • SSP_DIRECTORY:SSPのインストールフォルダ(ssp.exeがある場所)
  • GHOSTS_DIRECTORY:ランダム起動の対象にしたいゴーストが入っているフォルダ

設定ができたら、適当な場所に random_boot.bat のような拡張子 .bat のファイルとして保存します。
保存後はこのバッチファイルをダブルクリックするだけで起動できます。

蛇足:Windows起動時に自動実行する

このバッチファイル(またはそのショートカット)をスタートアップフォルダに配置すると、Windows起動時に自動でランダムなゴーストが立ち上がるようになります。

スタートアップフォルダは、エクスプローラーのアドレスバーに shell:startup と入力すると開けます。

まとめ

SSP標準のランダム起動機能は全ゴーストが対象になってしまいますが、起動オプション /g と外部スクリプトを組み合わせることで、特定フォルダ内のゴーストに限定したランダム起動を実現できました。