クイック エンジニアリングブログ

株式会社クイック Web事業企画開発本部のエンジニアリングチームが運営する技術ブログです。

【情シス必見】Windows10への移行はrobocopyを活用せよ!

ヘルプデスクの福です。
先月、人生2度目のぎっくり腰になりました。
腰の筋肉が張ってる自覚のある方、明日は我が身ですよ。

さて、そんなコルセット紳士の私が今回紹介するのは、
ズバリ!Windows10への移行テクニックです。

情シス担当の皆さまにとっては耳が痛い話かと思いますが、
2020年1月14日をもってWindows7がサポート終了します 。
これに伴いWindows7PCはWindows10へ移行する必要があります。

弊社も絶賛移行中なわけですが、なかなか一筋縄ではいきません。
今回は中でも最も時間を費やした「データ移行」について画期的な手法を共有します。

その名も「robocopy

一般的にWindows10の移行方法をGoogle検索してみると、
USBメモリやファイルサーバなどの外部ストレージに一旦退避したのち、
Windows10にデータを移す手法を紹介するサイトが多いようです。

しかしながら、この手法はコピーを2回行うため非常に手間ですし時間もかかります。

弊社では移行時間の短縮化を図るためにアレコレ試行した結果、
robocopy」コマンドを使った移行方法を取り入れました。
robocopy」はWindowsに標準搭載されているコピーツールです。
ロボットのコピーかな?と思われた方、
「Robust File Copy」(堅固で確実なファイルコピー) の略です。
・・・大丈夫です、私もそう思ってました。

robocopyエクスプローラによるコピーを比較すると、
以下の作業効率の観点から圧倒的にrobocopyが勝ります。

  • コピー処理が速い (ディスク性能やネットワーク、ファイル数に依存する点に注意)
  • 上書き確認がない (robocopyは強制上書き)

今となってはもうコレ以外考えられないというぐらいrobocopyにzokkonです。

コマンド解説

それではさっそく解説に入りたいと思います。
robocopyコマンドを使用してユーザーのプロファイルフォルダ (C:\Users\ユーザー名) を移行します。
なおフォルダのパスは環境に合わせて適宜変更願います。
前提条件は以下のとおりです。

  • Windows10PCは利用者IDでログインできる状態までキッティング済み
  • Windows7PCとWindows10PCは同じLANに接続して起動済み
  • Windows7PCは管理共有を有効にしている

続いて具体的な「robocopy」の使い方についてです。
流れとしては管理共有の認証→robocopyです。
Windows10PCに利用者IDでログインし、コマンドプロンプトから以下コマンドを実行します。

net use \\移行前PC(※)\c$  

※ ホスト名やIPアドレスなど
ID・パスワードの入力を求められるため管理者権限のIDで認証してください。
認証が成功したら続いて以下コマンドを実行します。

robocopy \\移行前PC\C$\%HOMEPATH% %USERPROFILE% /E /XX /XJD /XJF /R:0 /W:0

コピーが始まるのであとは待つだけです。

以下はコマンドのオプションについての解説です。

/E: 空のフォルダも含めてサブフォルダもコピー対象に含める
 …フォルダを丸ごとコピーするために必要です。
/XX: コピー先にだけ存在するファイルとディレクトリを除外する
 …Windows10独自のフォルダ・ファイルを消さないために必要です。
/XJD: ジャンクションと呼ばれるフォルダ、フォルダのリンクを除外する
 …主に後者のリンク除外のために使用します。このオプションを指定しないとコピーが無限ループします。
/XJF: ジャンクションと呼ばれるファイル、ファイルのリンクを除外する
 …同上
/R:0: ファイルコピーに失敗した場合、再試行しない
 …成功する前提のため再試行しません。ネットワークの瞬断程度ならエラーにならず待ってくれます。
/W:0: 再試行の待ち時間はなし
 …再試行しないですが念のために指定しています。

以上です。
もし検証できる環境があれば是非試していただきたい。
きっとあまりの簡単さに感動すること間違いなしです!

ただし、ご使用の際は自己責任にてお願いします。
また、プロファイルフォルダとは異なるフォルダを移行対象とする場合は、ご自身で最適なオプションをお調べください。
robocopy万歳!


\\『明日のはたらくを創る』仲間を募集中!! // 919.jp