所持曲数が多すぎてBeatSaberのバックアップに5億年かかる間に転生したらスライムだった件

※この記事に「スライム」という単語はタイトル以降出現しません

曲数多すぎ

ふざけたタイトルとは関係ないんですけども人によっては10000曲以上曲があってバックアップにすごく時間がかかるとかなんとか。

どうにかならんもんかね?

なるんですね~。そう、シンボリックリンクならね。

いや、なにそれ。いきなり専門用語で言われても困るが。

安心してください。この後超わかりやすい解説(当社比)が待ってますから。

シンボリックリンクとは?

シンボリックリンクって何?って話なんですけど、超簡単に言うと「ショートカット」みたいなもんです。
そう、デスクトップに散乱してるあれです。

筆者のデスクトップもショートカットで溢れかえってますね。
まるで自分の部屋のようだ。

画像1

ところで、ショートカットとシンボリックリンクは何が違うの?
シンボリックリンクはショートカットみたいな動きをするのにあたかもそこにフォルダーがあるかのようにふるまうのです。

実際に見て見ましょう。

これがショートカットのアイコン

画像2

これをクリックすると

画像3

「D:\BeatSaber\CustomLevels」に飛ばされてしまいました。

まあそこにショートカット作ったので当たり前ですね。

では次にシンボリックリンクを見て見ましょう。

画像4


見た目はショートカットですね。しかしクリックすると…。

画像6

なんと「D:\Oculus\Software\hyperbolic-magnetism-beat-saber\Beat Saber_Data\CustomLevels」に飛ばされたじゃありませんか!

すてき!

画像7

容量も1.52GBと軽くなりましたね。以前は30GBほどあったというのに…。

いえ、まだ油断はできません。
見た目だけできてもゲーム内で読み込めなかったら意味がないのです!
というわけで、いざ起動!

画像8

無事、5218曲読み込むことに成功しました!

シンボリックリンクの作り方

@echo on
set customLevelDir="D:\Oculus\Software\hyperbolic-magnetism-beat-saber\Beat Saber_Data\CustomLevels\"
set linkTarget="D:\BeatSaber\CustomLevels\"
mklink /d %customLevelDir% %linkTarget%
pause

おわり。

いや、雑すぎるやろ。
はい、説明します。

先ほどの意味わからん英語はバッチファイルの中身なのですね。
適当に「CreateLink.bat」みたいなの作ってコードコピペします。

その後、カスタムレベルまでのファイルパスとどこかに避難させたカスタムレベルのパスをcustomLevelDirとlinkTargetにそれぞれ打ち込みます。

後はバッチファイルを叩けば動くはずです。

え?動かないって?

あー、言い忘れてました。先に元々あったCustomLevelsのフォルダを消しておいてください。
同じ名前のフォルダがあると作成に失敗するので。

先に言え。

リンクを削除するときは下記のバッチファイルを叩けばいいでしょう。
「RemoveLink.bat」とかでも書いておけばいいんじゃないでしょうか。

@echo on
set customLevelDir="D:\Oculus\Software\hyperbolic-magnetism-beat-saber\Beat Saber_Data\CustomLevels\"
rmdir %customLevelDir%
pause


バックアップの注意点

さてここからはバックアップなんですが、このまま圧縮してしまうとシンボリックリンク先を参照して圧縮対象にしてしまうので結局全ファイル圧縮しちゃうんですよね。

意味ねー!

なので、バックアップするときはきちんとシンボリックリンクを消しておきましょう。

最後に

もしSSDに余裕があればバージョンごとのインストールフォルダを用意してそこにリンクを張ることでリンク先を切り替えるだけでバージョンを上げたり下げたりできます。

ま、自動アップデートでそのバックアップ環境を壊されかねないんですけどね(遠い目)