最近こっている事の一つにIME辞書にショートカットを登録することがある。そうすると IME 辞書をバックアップしたくなる。
IME 辞書そのものは普通のファイルなので単にコピーするだけで OK ですが、まあ面倒くさい。Win11 で試した限り辞書の保存場所を変える方法はなさそう。
自分の 場合辞書は
C:\Users\ユーザー名\AppData\Roaming\Microsoft\IME\15.0\IMEJP\UserDict
に保存されている。
これをなんとかして Synology Drive のフォルダにコピーできればバックアップができて、それを定期的に実行すれば自動バックアップの完成という訳。
NAS がなくとも、この自動コピーの仕組みでバックアップは実現できます。
手順
- 辞書ファイルのコピー
まずは、辞書をコピーするスクリプトを作成する。コピーには個人的な好みで cwRsync を使用する。
こんな感じになる。/cygdrive/c/ からはじめると c:\ の意味になるようだ。
rsync -av /cygdrive/c/Users/172369/AppData/Roaming/Microsoft/IME/15.0/IMEJP/UserDict/* /cygdrive/c/synologydriveのフォルダ/
cwrsync (rsync) は実際に試す前に -n を追加して (-avn) で実行する内容を試した方がいい。特にデリートコマンド系は危険。
もし、Windows標準の Robocopoy を使うならこんな感じ。(恥ずかしながらこのコマンド初めて知りました。)
Robocopy.exe C:\Users\172369\AppData\Roaming\Microsoft\IME\15.0\IMEJP\UserDict\ . C:\synologydriveのフォルダ /XO
Robocopy はかなり複雑なのでちょっと難しい印象。それで避けていたのかもしれない。
スクリプトを書く際に注意しなくてはいけないのは後段のタスクスケジューラで実行する時にカレントディレクトリがシステムディレクトリ(確か system32 だったか)になってしまうので .\ とかするとコピーができずに永遠に終わらなくなったりする。
- タスクスケジューラに登録
2つの参考リンクをミックスした感じで
[start] -> tasks と入力してタスクスケジューラを起動する。
新しいタスクの作成にすすみ、名前を適当に入れる。
今回は、コピー元、コピー先ともに自分自身がオーナーのユーザーフォルダなので実行するユーザーを変更する必要はない。
[トリガー]タブは、[毎日]、[繰り返し間隔] [1時間] に設定する。
[操作]タブ、
プログラム: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
引数の追加: 作成したスクリプトのフルパス
自分の環境では ExecutionPolicy を許可ずみなので -ExecutionPolicy Bypass は不要でした。
ちょっと面倒ですがここまですると、 Synology Drive へ定期コピーし Synology Drive が NAS へ同期
することで自動バックアップする一連の流れを設定とすることができました。
参考
cwRsync – Rsync for Windows | itefix.net
Robocopyの基本動作とコマンドオプション解説
Windows10でPowerShellスクリプトをスケジュール実行する – 3テラバイト
タスクスケジューラでPowerShell スクリプトを実行する | Windows 実践ガイド