Windows「robocopy」をバッチ(拡張子が「.cmd」のファイル)を使って実施する際に日本語のフォルダを指定するとうまくバックアップができない場合があります。
以下は日本語フォルダを正常にrobocopyできる解決方法をメモしておきます。
robocopyのバッチで日本語フォルダが認識できないときの解決方法
robocopyをバッチで作成して実行する際に正常にrobocopyがされない場合があります。
今回は「テスト」というフォルダ名にしています。
調査のため、ログを出力させて確認すると原因はわかりました。
※ログを出力させる方法は以下となります。
バッチファイルで「robocopy」を実行したログを確認すると6行目でフォルダ名が文字化けしていることがわかります。
------------------------------------------------------------------------------- ROBOCOPY :: Windows の堅牢性の高いファイル コピー ------------------------------------------------------------------------------- 開始: 2020年5月26日 11:58:50 コピー元 : c:UsersxxxxxxDesktop繝・せ繝・172.20.10.8UsersxxxxxxDesktopTestFolder コピー先 - ファイル: *.* オプション: *.* /S /E /DCOPY:DA /COPY:DAT /PURGE /MIR /B /R:1 /W:1 ------------------------------------------------------------------------------ エラー: コピー先ディレクトリが指定されていません。 簡易な使用法 :: ROBOCOPY コピー元 コピー先 /MIR コピー元 :: コピー元ディレクトリ (ドライブ:パスまたは \サーバー 共有パス)。 コピー先 :: コピー先ディレクトリ (ドライブ:パスまたは \サーバー \共有パス)。 /MIR :: 完全なディレクトリ ツリーをミラー化します。 詳細な使用方法については、ROBOCOPY /? を実行してください。 **** /MIR はファイルをコピーできるだけでなく、削除もできます。
なぜかrobocopyのバッチファイルでは日本語を認識できないようでした。
原因はエンコードが「UTF-8」となっている
結果的に言うとバッチファイルのエンコードが「UTF-8」になっていることが原因でした。
バッチファイルに正常に日本語を読ませるためにエンコードを変更して実行しないといけません。
Windowsテキストでは「SJIS」で保存できない
ざっと確認したところWindowsの標準テキストファイルで、エンコードを「SJIS」に変更することができませんでした。
あると思うのですが、ここは別のエディタを使用したほうが早そうなので「sakuraエディタ」を使用します。
sakuraエディタを使用してエンコードを「SJIS」に変更し保存
サクラエディタは無償で提供されているお勧めのエディタです。
ファイル自体も軽いので使いやすいです。
https://sakura-editor.github.io/
このエディタを起動し、「ファイル」タブから「開く」を選択し、該当のrobocopyのバッチを選択します。
robocopyのバッチが表示されたら、再度「ファイル」タブをクリックし、「名前を付けて保存」を選択します。
保存する際に以下のポップアップが表示されるので「文字コードセット」のところで「SJIS」を選択して「保存」します。
これだけで、robocopyのバッチファイルが日本語フォルダを認識し、正常に実行してくれます。
------------------------------------------------------------------------------- ROBOCOPY :: Windows の堅牢性の高いファイル コピー ------------------------------------------------------------------------------- 開始: 2020年5月26日 14:53:41 コピー元 : c:UsersxxxxxxDesktopテスト コピー先 : c:UsersxxxxxxDesktopテスト ------中略------
robocopyの日本語フォルダが文字化けし、正常にバックアップができないときの解決方法は以上となります。
エンジニアのオンライン学習
ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。
おすすめオンライン教材 | |
自宅で学習ができるオンラインスクール | |
ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。
Windowsのメモ帳でも、「名前を付けて保存」機能を使えば、文字コードを変える事が出来ます。
ただし文字コードは、Shift JIS ではなく、ANSI と表示されています。