- 技術 💻
robocopyの使い方|オプション早見表・/MIRの注意と終了コード
結論
robocopyは、違うファイルだけをコピーするWindows標準のコマンドです。基本形は robocopy 元 先 /E、/MIR はコピー先も消します。
この記事でわかること
- オプション早見表45項目と目的別のコマンド例9本
- /MIRで消える3つの失敗と、/Lで確かめる手順
- 終了コード0〜16の全表と、ERROR 5・32の直し方
robocopy は、コピー元とコピー先を比べて、無いファイルとサイズ・日時の違うファイルだけをコピーします。コピー先にだけあるファイルは、/MIR か /PURGE を付けたときだけ消します。
flowchart TD
A[コピー元と<br>コピー先を比べる] --> B{元だけ・<br>違う}
B -->|はい| C[コピー]
B -->|同じ| D[スキップ]
A --> E{コピー先<br>だけ}
E -->|/MIR| F[削除]
急いでいる人向けに、よく調べられることの答えを先にまとめます。
| やりたいこと | 書き方 | 詳しい節 |
|---|---|---|
| フォルダーを中身ごとコピー | robocopy C:\src D:\dst /E |
基本の書式 |
| コピー元と同じにする(消える) | robocopy C:\src D:\dst /MIR |
/MIR の注意 |
| 実行前に何が起きるか見る | 上のコマンドに /L を足す |
/MIR の注意 |
| 上書きしない | /XC /XN /XO |
目的別の例 |
| フォルダー・ファイルを除外 | /XD node_modules /XF *.tmp |
オプション早見表 |
| 速くする | /MT:16 /NP /LOG:ログ |
速くするには |
| 待ち続けないようにする | /R:1 /W:1 |
再試行 |
| 成功か失敗かの判定 | 終了コードが 8 以上なら失敗 | 終了コード |
| 毎日決まった時刻に動かす | バッチを schtasks で登録 | タスクスケジューラ |
確認環境:robocopy の書式・オプション・既定値・終了コードは、Microsoft Learn の「robocopy」(英語版 2025年3月17日更新・日本語版)と「Return codes that are used by the Robocopy utility」(2026年2月12日更新)、Microsoft のブログのアーカイブ「Robocopy exit codes」、Azure Files の「RoboCopy を使った移行」の解説で確かめました。タスクスケジューラは schtasks /create・Register-ScheduledTask、エラー番号は Win32 のシステム エラー コードのページで確かめています。コピー・ミラー・試運転・除外・失敗の動きは、Ubuntu 24.04.4 LTS の rsync 3.2.7 で同じ操作を実行して対応づけ、robocopy の終了コードの決まりを Python 3.11.15 で実装して rsync の結果に当てはめました。パスの引用符の解釈は、Microsoft Learn に書かれた規則を Python で実装し、ページの例6件と一致することを確かめてから使っています(確認日 2026年10月23日)。
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「robocopyの使い方|オプション早見表・/MIRの注意と終了コード」
robocopyとは(読み方・できること)
この節では、robocopy が何で、copy・xcopy と比べて何ができるかが分かります。
robocopy(ロボコピー)は、Windows に最初から入っているファイルコピーのコマンドです。 名前は「Robust File Copy(堅牢なファイルコピー)」の略で、1996年に Windows NT 4.0 Resource Kit の道具として出て、Windows Vista・Windows Server 2008 から標準で入っています。コマンド プロンプトでも PowerShell でも動きます。PowerShell では $ で始まる名前($RECYCLE.BIN など)が変数として読まれるので、'$RECYCLE.BIN' のように単一引用符で囲みます。
1違うファイルだけコピーする
2回目からは、無いファイルとサイズ・日時の違うファイルだけをコピーする。同じファイルは飛ばす。
2コピー先を同じ状態にする
/MIR で、コピー元に無いファイルをコピー先から消し、2つのフォルダーをそろえる。
3失敗しても続ける
開けないファイルは再試行し、それでも失敗したら飛ばして次へ進む。ネットワークが切れても途中から再開できる(/Z)。
4結果を数で返す
コピーした・余分があった・失敗した、を終了コードとログの集計で返す。定期実行の判定に使える。
ほかにも、アクセス権(ACL)や所有者のコピー、複数スレッドでの並列コピー(/MT)、帯域の制限(/IPG)、変化を見張って自動で再実行(/MON・/MOT)、オプションの保存(/SAVE・/JOB)ができます。
copy・xcopy との違い(概要)
copy は「1つ以上のファイルをコピーする」コマンドで、Microsoft Learn の copy のページでは、サブフォルダーまで全部コピーするなら xcopy を使うよう書かれています。xcopy はフォルダーごとコピーできますが、コピー先にだけあるファイルを消すミラーや、失敗したファイルの再試行はありません。詳しい比較は後の「xcopy・copy・rsync との違い」の表にまとめました。
robocopyの基本の書式と最初のコピー
この節では、書式の意味と、フォルダーを中身ごとコピーする最初のコマンドが分かります。
robocopy <コピー元> <コピー先> [<ファイル>[ ...]] [<オプション>]
| 部分 | 意味 | 書かないと |
|---|---|---|
| コピー元 | コピー元のフォルダーのパス | 書く(必須) |
| コピー先 | コピー先のフォルダーのパス | 書く(必須)。無ければ作られる |
| ファイル | コピーするファイル名。* ? が使える |
*.*(全部) |
| オプション | /E /MIR など。大文字・小文字どちらでもよい |
1階層目のファイルだけ |
コピー元とコピー先には、ファイルではなくフォルダーを書きます。 1つのファイルだけをコピーするときは、フォルダーを2つ書き、3つ目にファイル名を書きます。
:: フォルダーの中身を、サブフォルダー(空のものも)ごとコピー
robocopy C:\work\project D:\backup\project /E
:: 1つのファイルだけ(report.xlsx)をコピー
robocopy C:\work\project D:\backup\project report.xlsx
:: 拡張子で絞る(.jpg と .jpeg だけ。/S で空のフォルダーは作らない)
robocopy C:\photos D:\photos *.jpg *.jpeg /S
オプションなしは1階層目だけ
サブフォルダーはコピーされない。フォルダーごとなら /E(空のフォルダーも)か /S(空のフォルダーは除く)を付ける。
コピー元の「中身」がコピーされる
C:\work\project の中身が D:\backup\project の中に入る。project フォルダーの名前はコピー先に自分で書く。
2回目からは違うものだけ
同じファイルは飛ばされ、新しいファイルと変わったファイルだけがコピーされる。
ヘルプは robocopy /? で表示されます。
どのファイルがコピーされるか(差分の判定)
robocopy は、ファイルを「クラス」に分けて、コピーするかを決めます。Microsoft Learn のファイル選択のオプションに出てくる名前と、ログの表示の対応です。
| クラス | どんなファイルか | 既定の動き |
|---|---|---|
| Lonely(ログは New File) | コピー元にだけある | コピーする(/XL で除外) |
| Newer | コピー元のほうが日時が後 | コピーする(/XN で除外) |
| Older | コピー元のほうが日時が前 | コピーする(/XO で除外) |
| Changed | 日時が同じでサイズが違う | コピーする(/XC で除外) |
| Same | 日時もサイズも同じ | スキップ(/IS で含める) |
| Tweaked | 属性だけが違う | スキップ(/IT で含める) |
| Extra(*EXTRA File) | コピー先にだけある | 残す(/MIR・/PURGE で削除) |
| Mismatched(*Mismatch) | 同じ名前でファイルとフォルダー | 不一致として数える |
既定では「コピー元が新しいとき」ではなく「違うとき」にコピーします。 コピー先で編集して日時が後になったファイルも、コピー元の内容で上書きされます。上書きを避けたいときは /XO(コピー元のほうが日時が前なら除外)を付けます。
rsync も既定では「サイズか更新日時が違えばコピーする」決まりなので、同じ状況を作って確かめました。コピー先のファイルを後の日時で書き換えておき、コピーの試運転(-n)をした結果です。
【既定(コピー先のほうが新しい)】
>f.st...... a.txt ← 日時が前のコピー元で上書きする
【--update(robocopy の /XO 相当)】
(何も出ない) ← 上書きしない
【--ignore-existing(/XC /XN /XO 相当)】
>f+++++++++ b.txt ← 新しいファイルだけコピー。a.txt は dst-edited のまま
パスの書き方(引用符と末尾の \ に注意)
空白を含むパスは " で囲みます。引用符で囲んだパスの最後に \ を付けると、パスが壊れます。 Microsoft の C の実行時ライブラリは、\" を「文字としての "」と読む決まり(Microsoft Learn「Parsing C command-line arguments」)だからです。この決まりを Python で書き、ページに載っている6つの例がすべて同じ結果になることを確かめてから、robocopy の引数に当てはめました。
"C:\My Files\" "D:\Backup\My Files\" /MIR
→ 3個: C:\My Files" D:\Backup\My | Files" | /MIR ← コピー元とコピー先がつながった
"C:\My Files" "D:\Backup\My Files" /MIR
→ 3個: C:\My Files | D:\Backup\My Files | /MIR ← 正しい
"C:\My Files\\" "D:\Backup\My Files\\" /MIR
→ 3個: C:\My Files\ | D:\Backup\My Files\ | /MIR ← \ を2つ書けば末尾の \ が残る
1つ目は、コピー元が C:\My Files" D:\Backup\My、コピー先が Files" という、存在しないパスになりました。引用符で囲むときは、末尾の \ を付けません。 ドライブのルートを指すときは D:\ を引用符で囲まずに書きます。
よく使うオプション早見表
この節では、よく使うオプションの意味と既定値が、目的別の一覧で分かります。既定値は Microsoft Learn の robocopy のページで確かめました。
コピーのしかた
| オプション | 意味 | 補足 |
|---|---|---|
/S |
サブフォルダーもコピー(空は除く) | |
/E |
サブフォルダーもコピー(空も含む) | フォルダーごとならこれ |
/LEV:n |
上から n 階層までコピー | |
/MIR |
ミラー(/E + /PURGE) | コピー先だけのものを消す |
/PURGE |
コピー元に無いものをコピー先から消す | |
/MOV |
ファイルを移動(コピー後に元を消す) | フォルダーは残る |
/MOVE |
ファイルとフォルダーを移動 | |
/Z |
再開可能モード | 途中で切れても続きから |
/B |
バックアップ モード | 管理者で実行。ACL を越えて読む |
/ZB |
/Z で、アクセス拒否なら /B に切り替え | |
/J |
バッファーを使わない入出力 | 大きいファイル向け |
/MT:n |
n スレッドで並列コピー | 既定 8。1〜128 |
/IPG:n |
パケットの間をあける | 遅い回線の帯域を空ける |
/CREATE |
フォルダー構成と0バイトのファイルだけ作る | |
/SL |
シンボリックリンクをリンクのままコピー |
何をコピーするか(属性・権限)
| オプション | 意味 | 既定 |
|---|---|---|
/COPY:フラグ |
ファイルの何をコピーするか | DAT |
/DCOPY:フラグ |
フォルダーの何をコピーするか | DA |
/SEC |
アクセス権もコピー(/COPY:DATS) | |
/COPYALL |
全部コピー(/COPY:DATSOU) | |
/NOCOPY |
何もコピーしない(/PURGE と使う) |
フラグは、D=データ、A=属性、T=タイムスタンプ、S=NTFS のアクセス権(ACL)、O=所有者、U=監査の情報、X=代替データ ストリームを飛ばす、です。/DCOPY では E=拡張属性も指定できます。既定の /COPY:DAT ではアクセス権はコピーされません。 ファイルサーバーの移行のように権限ごと移すときは /COPY:DATSO や /COPYALL を使います。
選ぶ・除外する
| オプション | 意味 | 例 |
|---|---|---|
/XD フォルダー |
フォルダーを除外 | /XD node_modules .git |
/XF ファイル |
ファイルを除外(* ? 可) |
/XF *.tmp ~$* |
/XO |
コピー元のほうが日時が前なら除外 | 上書きを防ぐ |
/XN |
コピー元のほうが日時が後なら除外 | |
/XC |
日時が同じでサイズが違えば除外 | |
/XX |
コピー先だけのもの(Extra)を除外 | /MIR でも消さない |
/XJ |
ジャンクションを除外 | ループを防ぐ |
/MAXAGE:n |
n 日(または日付)より前のものを除外 | /MAXAGE:7 |
/MINAGE:n |
n 日(または日付)より後のものを除外 | |
/MAX:n /MIN:n |
サイズ(バイト)の上限・下限 | |
/A /M |
アーカイブ属性のあるものだけ | /M は属性を外す |
/FFT |
FAT の時刻の精度(2秒)で比べる | NAS で毎回コピーされるとき |
/XD・/XF は、名前を空白で区切って続けて書けます。/XD node_modules .git のように1つの /XD に並べます。
再試行・ログ・ジョブ
| オプション | 意味 | 既定 |
|---|---|---|
/R:n |
失敗したときの再試行の回数 | 1,000,000 |
/W:n |
再試行までの待ち時間(秒) | 30 |
/L |
一覧だけ(コピー・削除・時刻の変更をしない) | 試運転に使う |
/LOG:ファイル |
ログに書く(上書き) | |
/LOG+:ファイル |
ログに書く(追記) | |
/UNILOG:ファイル |
Unicode でログに書く | /UNILOG+ は追記 |
/TEE |
画面とログの両方に出す | |
/NP |
進み具合(%)を出さない | |
/NFL /NDL |
ファイル名・フォルダー名を出さない | |
/NJH /NJS |
先頭の見出し・最後の集計を出さない | |
/V |
スキップしたファイルも出す | |
/FP /TS |
フルパス・タイムスタンプを出す | |
/SAVE:名前 /JOB:名前 |
オプションを保存・読み込み | .RCJ ファイル |
既定の再試行は、1つのファイルで最長347日待つ
/R と /W を書かないと、使用中のファイルが1つあるだけで、robocopy はそこで止まったように見えます。 定期実行では必ず /R:1 /W:1 のように小さい値を書きます。Azure Files の移行ガイドでは、ファイルが使用中で失敗したと考えられるときは再試行を0か1回にし、次の回の実行で拾う方針が書かれています。/REG を付けると、そのときの /R と /W をレジストリーに保存して既定値にできます。
/MIRの使い方と危険(消える)・/Lで確かめる手順
この節では、/MIR が何を消すか、よくある3つの失敗、実行前に /L で確かめる手順が分かります。
/MIR は「/E + /PURGE」で、コピー元に無いファイルとフォルダーを、コピー先から削除します。 削除したファイルはごみ箱に入りません。バックアップ先を /MIR でそろえると、コピー元で間違って消したファイルも、次の実行でバックアップ先から消えます。
バックアップ先をどうそろえるか
履歴を残したいなら /E、同じにしたいなら /MIR を、/L で確かめてから
/MIR で起きた3つの失敗(rsync で再現)
robocopy の /MIR と同じ動き(コピーして、コピー先だけのものを消す)は、rsync の -a --delete です。robocopy の /L に当たる試運転は -n です。8個のファイルがあるコピー先に対して、試運転で何が消えるかを見ました(*deleting が削除される予定のもの)。
失敗1:コピー元の階層を間違えた(C:\src\docs を D:\dst に /MIR した場合)
*deleting olddir/z.txt
*deleting olddir/
*deleting node_modules/pkg/index.js
*deleting node_modules/pkg/
*deleting node_modules/
*deleting img/logo.png
*deleting img/
*deleting empty/
*deleting docs/old/memo.txt
*deleting docs/old/
*deleting docs/report.txt
*deleting docs/new.txt
*deleting docs/extra.txt
*deleting docs/cache.tmp
*deleting docs/
>f+++++++++ cache.tmp
>f+++++++++ new.txt
>f+++++++++ report.txt
cd+++++++++ old/
>f+++++++++ old/memo.txt
コピー先の8個のファイルが全部消え、docs の中身がコピー先の1階層目に置かれる予定になりました。 Azure Files の移行ガイドにも、/MIR ではコピー元とコピー先のフォルダーの階層を正確に合わせること、合っていないと大規模な削除と再コピーが起きることが書かれています。
失敗2:コピー元とコピー先を逆に書いた(コピー元にだけある今日のファイル today.txt があるとき)
*deleting docs/today.txt
.d..t...... docs/
>f+++++++++ docs/extra.txt
cd+++++++++ olddir/
>f+++++++++ olddir/z.txt
バックアップ先をコピー元にしてしまうと、まだバックアップしていない作業中のファイルが消え、代わりにバックアップ先にだけあったファイルが作業フォルダーに入ってきます。
失敗3:コピー先にだけ置いたファイル
バックアップ先に手で置いたメモ(docs/extra.txt)や、別の処理が作ったフォルダー(olddir)は、コピー元に無いので /MIR で消える予定になりました。
*deleting olddir/z.txt
*deleting olddir/
*deleting docs/extra.txt
robocopy では、コピー先だけのものを消さずに残す /XX があります。除外の扱いは robocopy と rsync で同じとは限らないので、/XD・/XF を付けた /MIR も、/L で消える一覧を見てから実行します。
/L で確かめてから実行する手順
本番と同じコマンドに /L を足す
robocopy C:\src D:\dst /MIR /L /TEE /LOG:C:\logs\check.log。/L ではコピー・削除・時刻の変更をしない。
*EXTRA の行を数える
ログの *EXTRA File・*EXTRA Dir が、/MIR で消える予定のもの。集計表の Extras 列にも数が出る。
消えて困るものが無いかを見る
件数が思ったより多ければ、コピー元・コピー先の階層と向きを見直す。
/L を外して実行する
/NP /NFL /NDL を付けているときは、試運転では外すと一覧が出る(Azure Files の移行ガイドの注意)。
Buffalo の NAS の FAQ でも、コピーをせずに差分だけを比べる方法として /L /E /R:1 /FP /LOG:... の形が案内されています。
rsync には削除の上限があり、robocopy には無い
rsync には --max-delete=件数 で削除の数に上限をかける仕組みがあります。失敗1の状態に --max-delete=3 を付けて実行すると、上限で削除が止まり(9件はスキップ)、終了コード 25 で終わりました。
Deletions stopped due to --max-delete limit (9 skipped)
rsync error: the --max-delete limit stopped deletions (code 25) at main.c(1356) [sender=3.2.7]
それでも olddir/z.txt と node_modules/pkg/index.js は消え、docs の中身はコピー先の1階層目にコピーされたので、元の状態には戻りません。robocopy のオプションの一覧に、削除の件数の上限はありません。robocopy で消しすぎを防ぐ方法は、/L での試運転と、パスを変数にしないで書くことです。
目的別のコマンド例(ミラー・バックアップ・移動・差分)
この節では、よくある目的ごとに、そのまま書き換えて使えるコマンドが分かります。
:: 1. フォルダーを中身ごとコピー(空のフォルダーも)
robocopy C:\work D:\backup\work /E /R:1 /W:1
:: 2. ミラー(コピー元と同じにする。消える)。先に /L で確かめる
robocopy C:\work D:\backup\work /MIR /R:1 /W:1 /NP /LOG:C:\logs\mirror.log
:: 3. 上書きしない(コピー先に無いファイルだけコピー)
robocopy C:\work D:\backup\work /E /XC /XN /XO
:: 4. 開発フォルダーを、生成物を除いてコピー
robocopy C:\dev\app D:\backup\app /E /XD node_modules .git bin obj /XF *.tmp *.log
:: 5. 7日以内に更新したファイルだけをコピー
robocopy C:\work D:\backup\recent /S /MAXAGE:7
:: 6. 移動(コピー後にコピー元から消す。フォルダーごと)
robocopy C:\inbox D:\archive /MOVE /E
:: 7. フォルダー構成だけをコピー(ファイルはコピーしない)
robocopy C:\template D:\new /E /XF *
:: 8. ファイルサーバーの移行(権限・所有者も。管理者で実行)
robocopy \\old-server\share \\new-server\share /MIR /B /COPY:DATSO /DCOPY:DAT /MT:16 /R:2 /W:1 /NP /NFL /NDL /XD "System Volume Information" /UNILOG:C:\logs\migrate.log
:: 9. オプションを保存して、次から呼び出す
robocopy C:\work D:\backup\work /MIR /R:1 /W:1 /SAVE:daily /QUIT
robocopy /JOB:daily
- 7 の
/XF *は、すべてのファイルを除外して、フォルダーだけを作る書き方です。0バイトのファイルも作るなら /CREATE です。 - 8 は、Azure Files の移行ガイドで勧められているオプションの組み合わせを、サーバー間の移行に当てはめたものです。ガイドでは
/MTは最初のコピーで 8〜20、その後の /MIR の実行ではマシンの CPU のスレッド数に近づけるよう書かれています。 - 9 の
/SAVEは、Microsoft Learn によると、コピー・再試行・ログのオプションをすべて /SAVE より前に書きます。保存先は .RCJ のファイルです。/QUITはコマンドラインを処理して終わる(パラメーターを見るため)ので、コピーはされません。
ドライブ全体をミラーするとき
ドライブのルート(E:\ など)を対象にすると、隠しフォルダーの $RECYCLE.BIN(ごみ箱)や System Volume Information でアクセス拒否(ERROR 5)が出ることがあります。Microsoft Learn の Q&A では、これらを /XD で除外する形が案内されています。
robocopy E:\ F:\ /MIR /R:1 /W:1 /XD $RECYCLE.BIN "System Volume Information"
Microsoft Learn の説明では、いまの robocopy は /PURGE・/MIR のとき、コピー元とコピー先の1階層目にある System Volume Information を自動で飛ばします。ごみ箱のフォルダーは自動では飛ばされないので、/XD に書きます。
robocopyを速くするには(/MT・ログの出し方)
この節では、コピーが遅いときに見るオプションと、逆に遅くなるオプションが分かります。
| 書き方 | 効果 | 出典の説明 |
|---|---|---|
/MT:n |
複数のファイルを並列にコピー | 既定 8。1〜128 |
/LOG:ファイル |
画面への出力を減らす | /MT のときはログに出すと速い |
/NP |
進み具合(%)を出さない | 表示は速さを大きく落とす |
/NFL /NDL |
ファイル名・フォルダー名を出さない | 速くなる |
/J |
バッファーなしの入出力 | 大きいファイル向け |
/Z /ZB |
再開可能モード | 記録が増えて大きく遅くなる |
Azure Files の移行ガイドでは、/Z と /ZB は「Use cautiously(注意して使う)」とされ、不安定なネットワークのときだけ勧められています。小さいファイルが多いときは /MT、大きいファイルが少ないときは /J が効く場面です。 /MT は /IPG・/EFSRAW と一緒には使えません。
robocopyのログの読み方
この節では、ログの3つの部分(見出し・ファイルごとの行・集計表)の読み方と、エラーの行の見つけ方が分かります。
ログは /LOG:ファイル(上書き)か /LOG+:ファイル(追記)で残します。画面にも出すなら /TEE を足します。
robocopy C:\work D:\backup\work /MIR /R:1 /W:1 /NP /TEE /LOG+:C:\logs\backup.log
ログは上から次の3つの部分でできています。
見出しとファイルの行
見出し:開始日時・コピー元・コピー先・オプション(/NJH で消える)
フォルダーの行:New Dir・*EXTRA Dir と件数
ファイルの行:New File・Newer・Older・*EXTRA File・*Mismatch とサイズ
集計表とエラー
最後の表:Dirs・Files・Bytes・Times ごとの件数(/NJS で消える)
ERROR の行:エラー番号と、何をしていたかとパス
同じファイル(same)は /V のときだけ出る
ファイルの行の見方
| ログの表示 | 意味 | 対応する rsync -i の表示 |
|---|---|---|
| New File | コピー元にだけある。コピーした | >f+++++++++ |
| Newer | コピー元のほうが日時が後。コピーした | >f..t...... |
| Older | コピー元のほうが日時が前。コピーした | >f..t......(サイズも違えば >f.st......) |
| *EXTRA File | コピー先にだけある | *deleting(削除するとき) |
| New Dir | 新しく作ったフォルダー | cd+++++++++ |
| *Mismatch | 同じ名前でファイルとフォルダー | could not make way で失敗(23) |
表示の語は、RoboSharp(robocopy のログを読む公開のライブラリ)の英語版の設定と、Microsoft Learn のファイル選択のオプションの名前で確かめました。英語以外の Windows では語が訳されて出ることがあり、RoboSharp にはドイツ語版の設定(ERROR が FEHLER)があります。日本語の Windows のログでは、Buffalo の FAQ に「コピー済み」欄の説明があります。
最後の集計表の見方
hahndorf.eu で公開されている、実際のログの集計表です。
Total Copied Skipped Mismatch FAILED Extras
Dirs : 13796 1 13794 0 1 0
Files : 4011310 14482 3996828 0 0 3
Bytes : 283.661 g 1.378 g 282.283 g 0 0 33.9 k
Times : 0:15:15 0:08:03 0:00:00 0:07:12
| 列 | 意味 | この例の読み方 |
|---|---|---|
| Total | 調べた数 | ファイル 4,011,310 個 |
| Copied | コピーした数 | 14,482 個・1.378 GB |
| Skipped | 同じなので飛ばした数 | 3,996,828 個 |
| Mismatch | ファイルとフォルダーの食い違い | 0 |
| FAILED | 失敗した数 | フォルダー 1 個 |
| Extras | コピー先にだけある数 | ファイル 3 個 |
まず FAILED 列が 0 かを見て、0 でなければログを ERROR で検索します。 この例のフォルダー1個の失敗は、ログの中の次の行が原因でした。
2018/11/13 20:29:22 ERROR 5 (0x00000005) Accessing Source Directory K:\data\export-2017\05\20\ Access is denied.
ERROR の行は「日時・ERROR 番号(16進)・何をしていたか・パス・Windows のエラー文」の順に並びます。番号の意味は、後の「よくあるエラー」の表で引けます。
rsync のログとの対応
rsync で --log-file と --stats を付けたときの集計(ファイル6・フォルダー7を全部コピー)です。
Number of files: 13 (reg: 6, dir: 7)
Number of created files: 13 (reg: 6, dir: 7)
Number of deleted files: 0
Number of regular files transferred: 6
Total file size: 2,073 bytes
robocopy の集計表の Copied に当たるのが「transferred」、Extras を消した数に当たるのが「deleted files」です。rsync には Skipped・FAILED の列は無く、失敗は終了コードとエラーの行で分かります。
robocopyの終了コード(0〜16)の意味と判定
この節では、終了コードの意味、成功と失敗の分かれ目、バッチ・PowerShell での判定の書き方が分かります。
robocopy の終了コードは、5つの意味を持つ数(1・2・4・8・16)の足し算です。8 以上なら、少なくとも1つ失敗しています。 0 と 1 はどちらも成功です。
flowchart TD
A[終了コード] --> B{8 以上}
B -->|はい| C[失敗あり<br>ERROR を見る]
B -->|いいえ| D{0}
D -->|はい| E[変更なし]
D -->|いいえ| F[成功<br>1〜7]
| 値 | 意味(ビット) | 出典 |
|---|---|---|
| 0 | コピーも失敗も不一致も無い(変更なし) | Microsoft Learn |
| 1 | ファイルをコピーした | Microsoft Learn |
| 2 | コピー先にだけあるもの(Extra)がある | Microsoft Learn |
| 4 | 不一致(Mismatch)がある | Microsoft のブログのアーカイブ |
| 8 | コピーできなかったものがある(再試行の上限を超えた) | Microsoft Learn |
| 16 | 重大なエラー。何もコピーしていない | Microsoft のブログのアーカイブ |
Microsoft Learn の表は 0・1・2・3・5・6・7・8 で、「8 以上は少なくとも1つの失敗」と書かれています。4 と 16 の意味は、Microsoft のブログのアーカイブ「Robocopy exit codes」(2008年)にあり、16 は「コマンドラインのパラメーターと、コピー先への書き込みの権限を確かめる」よう書かれています。
0〜16 の全表(計算した結果)
1・2・4・8・16 の足し算を、Python で 0〜16 まで分解した結果です。
| 値 | 判定 | 中身 |
|---|---|---|
| 0 | 成功 | 変更なし |
| 1 | 成功 | コピーした |
| 2 | 成功 | Extra あり |
| 3 | 成功 | コピーした+Extra あり |
| 4 | 成功 | Mismatch あり |
| 5 | 成功 | コピーした+Mismatch あり |
| 6 | 成功 | Extra あり+Mismatch あり |
| 7 | 成功 | コピーした+Extra あり+Mismatch あり |
| 8 | 失敗 | 失敗あり |
| 9 | 失敗 | コピーした+失敗あり |
| 10 | 失敗 | Extra あり+失敗あり |
| 11 | 失敗 | コピーした+Extra あり+失敗あり |
| 12 | 失敗 | Mismatch あり+失敗あり |
| 13 | 失敗 | コピーした+Mismatch あり+失敗あり |
| 14 | 失敗 | Extra あり+Mismatch あり+失敗あり |
| 15 | 失敗 | コピーした+Extra あり+Mismatch あり+失敗あり |
| 16 | 失敗 | 重大なエラー |
同じ操作を rsync で実行して、終了コードを対応づける
rsync の終了コードは「0=成功」で、コピーしたかどうかでは変わりません。そこで、rsync を -i(変更の一覧を出す)付きで実行し、その出力を robocopy の決まり(コピーしたら 1、コピー先だけのものがあれば 2、一部が失敗なら 8、1つもコピーできなければ 16)で採点する Python のプログラムを書いて、7つの状況を実行しました。
| 状況 | rsync の終了コード | robocopy の決まりで採点 |
|---|---|---|
| 初めてコピー | 0 | 1(成功) |
| もう一度実行(変更なし) | 0 | 0(成功) |
| コピー先にだけ old.txt | 0 | 2(成功) |
| 新しいファイル+old.txt | 0 | 3(成功) |
| ミラー(old.txt を消す) | 0 | 3(成功) |
| 読めないファイルが1つ | 23 | 9(失敗) |
| コピー元のフォルダーが無い | 23 | 16(失敗) |
ミラーの行は、消したものを Extra として数える決まりで採点しました。読めないファイルの状況は、権限の無いユーザー(nobody)で rsync を動かして作り、次のエラーが出ました。
rsync: [sender] send_files failed to open ".../s2/secret.txt": Permission denied (13)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1356) [sender=3.2.7]
読めたほうの ok.txt はコピーされ、secret.txt だけが失敗しました。robocopy でも同じように、失敗したファイルを飛ばして最後まで進み、終了コードの 8 のビットで知らせます。 途中で止まらないので、終了コードを見ない運用では失敗に気づけません。
robocopy の終了コード
ビットの足し算(1・2・4・8・16)
コピーしたら 1。0 以外でも成功がある
8 以上が失敗
rsync の終了コード
原因ごとの番号(1・23・24・25 など)
コピーしても 0
0 以外が失敗(24 は消えたファイルの警告)
rsync 3.2.7 のソース(errcode.h・log.c)で確かめた主な番号は、1=syntax or usage error、23=some files/attrs were not transferred、24=some files vanished before they could be transferred、25=the --max-delete limit stopped deletions、30=timeout in data send/receive です。
バッチで判定する
if errorlevel 8 は「直前の終了コードが 8 以上なら」という意味です(Microsoft Learn の if のページ)。比べる演算子の GEQ(以上)・LSS(未満)でも書けます。
@echo off
robocopy C:\work D:\backup\work /MIR /R:1 /W:1 /NP /LOG+:C:\logs\backup.log
set RC=%ERRORLEVEL%
if %RC% GEQ 8 (
echo [%date% %time%] robocopy 失敗 終了コード=%RC% >> C:\logs\backup-error.log
exit /b %RC%
)
exit /b 0
最後に exit /b 0 を書くのは、robocopy の 1〜7(成功)を、呼び出し元に 0 として返すためです。 Microsoft の Windows HPC Server 2008 のドキュメントには、robocopy が成功でも 0 以外を返すので、ジョブの管理の仕組みが「失敗」と記録する例と、IF %ERRORLEVEL% LEQ 1 exit 0 で 0 に直す書き方が載っています。CI のジョブや監視の仕組みも、多くは「0 以外は失敗」と扱います。
PowerShell で判定する
PowerShell では、直前に動かしたプログラムの終了コードが $LASTEXITCODE に入ります。
robocopy C:\work D:\backup\work /MIR /R:1 /W:1 /NP /LOG+:C:\logs\backup.log
$rc = $LASTEXITCODE
if ($rc -ge 8) {
Write-Error "robocopy 失敗: 終了コード $rc"
exit $rc
}
"成功: 終了コード $rc(1=コピー, 2=Extra, 4=Mismatch の和)"
exit 0
PowerShell 自体のコマンドの一覧は、関連記事「PowerShellコマンド一覧|用途別50選とbash対応表・実行例付き」で扱っています。
タスクスケジューラでrobocopyを定期実行する
この節では、上のバッチを毎日決まった時刻に動かす登録のしかたと、つまずきやすい点が分かります。
schtasks で登録する(コマンド プロンプト)
管理者のコマンド プロンプトで、毎日 2時に SYSTEM のアカウントで動かす例です。
schtasks /create /tn "Backup\robocopy-daily" /tr "C:\scripts\backup.bat" /sc daily /st 02:00 /ru SYSTEM /rl HIGHEST /f
| オプション | 意味 |
|---|---|
/tn |
タスクの名前。フォルダー\名前 で分けられる |
/tr |
動かすファイル(フルパス・262文字まで) |
/sc daily /st 02:00 |
毎日、24時間表記の時刻に |
/ru SYSTEM |
ローカルの System のアカウントで動かす(パスワード不要) |
/rl HIGHEST |
最も高い権限で動かす(既定は LIMITED) |
/f |
同じ名前があれば上書きする |
Microsoft Learn の schtasks /create の例では、SYSTEM で登録すると INFO: The task will be created under user name (NT AUTHORITY\SYSTEM). と SUCCESS: The Scheduled task MyApp has successfully been created. が表示されます。
PowerShell で登録する
$action = New-ScheduledTaskAction -Execute "C:\scripts\backup.bat"
$trigger = New-ScheduledTaskTrigger -Daily -At "02:00"
Register-ScheduledTask -TaskName "robocopy-daily" -Action $action -Trigger $trigger `
-User "NT AUTHORITY\SYSTEM" -RunLevel Highest
定期実行で確かめること
- 1/R と /W を小さくしたか書かないと既定の 100万回・30秒で、使用中のファイルで止まり続ける
- 2ドライブ文字ではなく UNC パスで書いたか手で割り当てた Z: などは、タスクのアカウントから見えないことがある
- 3共有フォルダーに、動かすアカウントの権限があるかSYSTEM はネットワークではコンピューターの資格情報で接続する
- 4終了コード 1〜7 を 0 にして返しているかそのままだと成功したのに失敗に見える。8 以上はそのまま返す
- 5ログを /LOG+ で追記しているか/LOG は毎回上書きなので、失敗した日のログが次の日に消える
- 6/MIR なら、一度 /L で消える一覧を見たか定期実行は人が見ていない時刻に動くので、最初の1回は必ず確かめる
Microsoft Learn の LocalSystem アカウントの説明では、このアカウントで動くサービスは「リモートのサーバーにコンピューターの資格情報を示す」とされています。SYSTEM で動かしたタスクがファイルサーバーに書けないときは、共有フォルダーの権限にコンピューターのアカウントを足すか、権限のあるユーザーで登録します(/ru ユーザー /rp パスワード)。
Linux で同じことを cron と rsync で行う書き方は、関連記事「cronの書き方|設定例30パターンの早見表と落とし穴まとめ」で扱っています。コマンドではなく画面の操作で自動化したいときは、関連記事「Power Automate Desktopとは|使い方・無料の範囲とエラー処理」で扱っています。
よくあるエラーと直し方(ERROR 5・ERROR 32 ほか)
この節では、ログに出る ERROR の番号から、原因と直し方を引けます。エラー文は Win32 のシステム エラー コードのページの原文です。
| ERROR 番号 | エラー文(原文) | 直し方 |
|---|---|---|
| 5 (0x00000005) | Access is denied. | 管理者で実行し /B か /ZB。$RECYCLE.BIN などを /XD |
| 32 (0x00000020) | The process cannot access the file because it is being used by another process. | 使っているアプリを閉じる。/R:1 /W:1 で飛ばし、次回に拾う |
| 2 (0x00000002) | The system cannot find the file specified. | コピー元のパスと名前を確かめる |
| 3 (0x00000003) | The system cannot find the path specified. | フォルダーのパス、末尾の \ と引用符を確かめる |
| 53 (0x00000035) | The network path was not found. | サーバー名・名前解決・ファイル共有の許可 |
| 67 (0x00000043) | The network name cannot be found. | 共有名を確かめる。/TBD で共有が現れるまで待つ |
| 64 (0x00000040) | The specified network name is no longer available. | 回線の切断。/Z で再開できるようにする |
| 112 (0x00000070) | There is not enough space on the disk. | コピー先の空きを増やす。/LFSM で止める |
| 123 (0x0000007B) | The filename, directory name, or volume label syntax is incorrect. | パスの引用符・使えない文字 |
| 206 (0x000000CE) | The filename or extension is too long. | パスを短くする(robocopy は既定で長いパスに対応) |
| 1326 (0x0000052E) | The user name or password is incorrect. | 先に net use で接続するか、タスクのアカウントを見直す |
| 1314 (0x00000522) | A required privilege is not held by the client. | 管理者で実行。/COPYALL を /COPY:DATSO に減らして試す |
ERROR 5(アクセスが拒否されました)
ERROR 5 は権限が無いときのエラーです。 次の順に確かめます。
- コマンド プロンプトや PowerShell を「管理者として実行」で開いたか。/B・/ZB(バックアップ モード)は管理者のコンソールが前提です(Azure Files の移行ガイド)。
- ドライブのルートを対象にしていないか。
$RECYCLE.BIN・System Volume Informationは /XD で除外します。 - アクセス権のコピー(/COPY の S・O・U、/COPYALL)で失敗していないか。権限ごと移す必要が無ければ、既定の /COPY:DAT に戻します。
- コピー先が共有フォルダーなら、共有の権限と NTFS の権限の両方で書き込みが許されているか。
:: 管理者のコンソールで、アクセス拒否ならバックアップ モードに切り替える
robocopy C:\data D:\backup\data /E /ZB /R:1 /W:1 /XD $RECYCLE.BIN "System Volume Information" /LOG+:C:\logs\backup.log
ERROR 32(ほかのプロセスが使用中)
ERROR 32 は、ほかのアプリがファイルを開いていて、読めないときのエラーです。Outlook の .pst、動いているデータベースのファイル、開いている Office の文書などで出ます。
- 既定の /R・/W のままだと、そのファイルで最長347日待ちます。
/R:1 /W:1で飛ばし、次の実行で拾います(Azure Files の移行ガイドの考え方)。 - そのアプリを止める時間帯にタスクを動かします。
- データベースは、ファイルをコピーせず、そのデータベースのバックアップの機能で出力したファイルをコピーします。
Linux では事情が違います。rsync で、別のプロセスが flock -x でロックしているファイルをコピーすると、エラーにならずにコピーされました(終了コード 0)。Linux のファイルのロックは、協力し合うプログラムどうしの約束(勧告ロック)が基本で、読むことは止めないためです。Windows から Linux に置き換えると、使用中のファイルが「エラーにならずに、書きかけの状態でコピーされる」ことがあります。
robocopyとxcopy・copy・rsyncの違い
この節では、似たコマンドとの違いと、Linux・Mac の rsync との対応が分かります。
| 項目 | robocopy | xcopy | copy | rsync |
|---|---|---|---|---|
| OS | Windows | Windows | Windows | Linux・Mac 等 |
| フォルダーごと | /E・/S | /E・/S | できない | -a |
| 違うものだけ | 既定 | /D(日付が後) | できない | 既定 |
| ミラー(消す) | /MIR | できない | できない | --delete |
| 試運転 | /L | /L | できない | -n |
| 再試行 | /R・/W | できない(/C で無視) | できない | できない |
| 並列 | /MT | できない | できない | できない |
| 中断から再開 | /Z | /Z | /Z | --partial |
| 権限のコピー | /COPY:DATSOU | /O /X | できない | -A -X(-a に含まない) |
| 終了コード | ビットの和・8以上が失敗 | 0〜5 | Learn に表なし | 原因ごとの番号 |
xcopy の終了コードは、Microsoft Learn によると 0=エラーなくコピー、1=コピーするファイルが無い、2=Ctrl+C で中断、4=初期化のエラー、5=ディスクの書き込みエラー、です。robocopy とは数の意味が違うので、xcopy から書き換えるときは判定の式も変えます。
robocopy と rsync のオプションの対応
| robocopy | rsync | メモ |
|---|---|---|
src dst /E |
-a src/ dst/ |
rsync は src の後ろの / で中身を指す |
/MIR |
-a --delete |
|
/L |
-n(--dry-run) |
|
/XD 名前 /XF *.tmp |
--exclude=名前/ --exclude='*.tmp' |
|
/XO |
--update |
|
/XC /XN /XO |
--ignore-existing |
|
/MOV |
--remove-source-files |
|
/MAX:n |
--max-size=n |
|
/LOG:ファイル |
--log-file=ファイル |
|
/V |
-v -i |
|
| (無し) | --max-delete=n |
削除の上限 |
いちばん違うのは、コピー元の書き方です。 robocopy はコピー元のフォルダーの中身をコピー先に入れます。rsync は src/(末尾の / あり)で中身を、src(なし)でフォルダーごとをコピーします。rsync の詳しい使い方は関連記事「rsyncの使い方|オプション一覧と目的別コピペ例(実行結果つき)」、Linux の cp との違いは関連記事「cp・rm・mvコマンドの使い方|オプション早見表とエラーの直し方」で扱っています。
よくある質問
Q. robocopyの読み方は? A. 「ロボコピー」です。Robust File Copy(堅牢なファイルコピー)の略で、Windows Vista・Windows Server 2008 から標準で入っています。
Q. robocopyで差分だけコピーするには?
A. オプションを足さなくても、2回目からは無いファイルとサイズ・日時の違うファイルだけをコピーします。robocopy C:\src D:\dst /E を繰り返すと差分のコピーになります。
Q. robocopyで上書きしないようにするには?
A. /XC /XN /XO を付けると、コピー先に同じ名前のファイルがあるときはコピーしません。コピー元のほうが日時が前のときだけ上書きを避けたいなら /XO だけを付けます。
Q. /MIRと/Eの違いは? A. /E はコピーするだけで、コピー先にだけあるファイルは残ります。/MIR は /E + /PURGE で、コピー元に無いファイルとフォルダーをコピー先から消します。/MIR は先に /L で消える一覧を確かめます。
Q. robocopyの終了コード1はエラーですか?
A. エラーではありません。1 は「ファイルをコピーした」という成功の意味です。8 以上が失敗で、0〜7 は成功です。タスクやジョブで失敗に見えるときは、バッチで 8 未満を exit /b 0 にして返します。
Q. robocopyが遅いときは?
A. /MT:16 などで並列にし、/NP・/NFL・/NDL で画面への出力を減らし、/LOG でログに出します。/Z・/ZB は記録が増えて遅くなるので、不安定な回線のときだけ使います。
Q. 特定のフォルダーやファイルを除外するには?
A. フォルダーは /XD node_modules .git、ファイルは /XF *.tmp *.log のように、名前を空白で区切って続けて書きます。/XF ではワイルドカード(* ?)が使えます。
Q. robocopyでファイルを移動するには?
A. /MOV はファイルだけを移動し、コピー元のフォルダーは残します。/MOVE はファイルとフォルダーを移動します。どちらもコピーしてからコピー元を消します。
Q. フォルダー構成だけをコピーするには?
A. robocopy C:\src D:\dst /E /XF * で、すべてのファイルを除外してフォルダーだけを作ります。0バイトのファイルも作るなら /CREATE です。
Q. ERROR 5 (0x00000005) Access is denied. が出ます
A. 権限が無いエラーです。管理者のコンソールで /B か /ZB を付け、ドライブのルートなら $RECYCLE.BIN と System Volume Information を /XD で除外します。
Q. ERROR 32 (0x00000020) が出て止まったように見えます
A. ほかのアプリがファイルを使っているエラーです。/R と /W を書かないと既定の100万回・30秒で待ち続けるので、/R:1 /W:1 で飛ばし、アプリを閉じた後に再実行します。
Q. MacやLinuxでrobocopyは使えますか?
A. robocopy は Windows のコマンドです。Mac・Linux で同じことをするなら rsync を使い、/MIR は rsync -a --delete、/L は -n に当たります。
まとめ
- robocopy は
robocopy コピー元 コピー先 /Eでフォルダーを中身ごとコピーし、2回目からは違うファイルだけをコピーする。既定では日時が前のファイルでも上書きする(避けるなら /XO)。 - 引用符で囲んだパスの末尾に
\を付けない。\"が文字の"になり、引数がつながる。 - /MIR は /E + /PURGE で、コピー先にだけあるものを消す。階層の間違い・向きの間違い・コピー先にだけ置いたファイルの3つで消える。先に /L で確かめる。
- /R と /W の既定は 100万回・30秒で、1つのファイルで最長347日待つ。定期実行では
/R:1 /W:1のように書く。 - 終了コードは 1・2・4・8・16 の足し算。0〜7 は成功、8 以上は失敗。バッチでは 8 未満を
exit /b 0にして返す。 - 速くするなら /MT と /NP /NFL /NDL と /LOG。/Z・/ZB は遅くなる。
- ERROR 5 は管理者で /B・/ZB と /XD、ERROR 32 は /R:1 /W:1 で飛ばして次回に拾う。
参考・出典
確認日はいずれも 2026年10月23日です。
- Microsoft Learn「robocopy」:https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/robocopy
- Microsoft Learn「robocopy」(日本語版):https://learn.microsoft.com/ja-jp/windows-server/administration/windows-commands/robocopy
- Microsoft Learn「Return codes that are used by the Robocopy utility in Windows Server」:https://learn.microsoft.com/en-us/troubleshoot/windows-server/backup-and-storage/return-codes-used-robocopy-utility
- Microsoft Learn(ブログのアーカイブ)「Robocopy Exit Codes」:https://learn.microsoft.com/en-us/archive/blogs/deploymentguys/robocopy-exit-codes
- Microsoft Learn「Migrate to SMB Azure file shares using RoboCopy」:https://learn.microsoft.com/en-us/azure/storage/files/storage-files-migration-robocopy
- Microsoft Learn「Tasks That Complete Successfully Are Marked As Failed」(Windows HPC Server 2008):https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-hpc-server-2008/ff182367(v=ws.10)
- Microsoft Learn「xcopy」:https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/xcopy
- Microsoft Learn「copy」:https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/copy
- Microsoft Learn「if」:https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/if
- Microsoft Learn「schtasks create」:https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/schtasks-create
- Microsoft Learn「Register-ScheduledTask」:https://learn.microsoft.com/en-us/powershell/module/scheduledtasks/register-scheduledtask
- Microsoft Learn「about_Automatic_Variables」:https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_automatic_variables
- Microsoft Learn「LocalSystem Account」:https://learn.microsoft.com/en-us/windows/win32/services/localsystem-account
- Microsoft Learn「System Error Codes (0-499)」:https://learn.microsoft.com/en-us/windows/win32/debug/system-error-codes--0-499-
- Microsoft Learn「System Error Codes (1300-1699)」:https://learn.microsoft.com/en-us/windows/win32/debug/system-error-codes--1300-1699-
- Microsoft Learn「Parsing C command-line arguments」:https://learn.microsoft.com/en-us/cpp/c-language/parsing-c-command-line-arguments
- Microsoft Learn Q&A「ERROR 5 (0x00000005) Accessing Destination Directory」:https://learn.microsoft.com/en-us/answers/questions/1302972/robocopy-dummy-needs-your-help-with-error-code-5-r
- Buffalo「Robocopyを使用したファイル比較方法」:https://www.buffalo.jp/support/faq/detail/124145602.html
- hahndorf.eu「Robocopy Directory Failure」:https://hahndorf.eu/blog/RobocopyDirectoryFailure.html
- GitHub「tjscience/RoboSharp」:https://github.com/tjscience/RoboSharp
- GitHub「RsyncProject/rsync」(v3.2.7 の errcode.h・log.c):https://github.com/RsyncProject/rsync
- Wikipedia「Robocopy」:https://en.wikipedia.org/wiki/Robocopy
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「robocopyの使い方|オプション早見表・/MIRの注意と終了コード」
株式会社RJC ― SI事業・SES事業・AI駆動開発。RJCは一緒に成長を楽しめる会社です。
WE ARE HIRING
RJCで一緒に開発しながら、
成長を楽しみませんか?
RJCは、Web・モバイル・AIを活用した開発プロジェクトで、テックリードやPM・PMOも活躍するシステム開発会社です。会社を知る、待遇を確かめる、話を聞いてみる。気になるところ見てみてください!
- 127日年間休日
- 12時間平均残業時間
- 毎日ガチャ遊びココロも大切にする福利厚生。アマギフなどの賞品ラインナップ!
ほかにも、チケットレストラン、書籍読み放題、2年ごとの慰労報奨(休暇 or 金一封)、11期連続の黒字決算。