読者です 読者をやめる 読者になる 読者になる

1.21 jigowatts

Great Scott!

RobocopyでSharePointのドキュメントライブラリを移行する

バッチ

概要

久しぶりに仕事の話です。
ひょんなことからSharePointのデータ移行をやることになりました。

SharePointとは

マイクロソフトが提供する、ウェブブラウザをベースとしたコラボレーションやドキュメント管理を行うプラットフォームの総称である。

https://ja.wikipedia.org/wiki/Microsoft_SharePoint

ドキュメントライブラリというデータを別のサーバへ移行するだけの簡単なお仕事です。エクスプローラー上でコピペでもいいのですが、ここでRobocopyです。

sh-yoshida.hatenablog.com

ネットワークドライブへ接続

まずは、コピー元とコピー先のネットワークドライブへ接続します。今回はそれぞれXとYドライブに割り当てました。

> net use X: <コピー元ネットワークドライブパス>
> net use Y: <コピー先ネットワークドライブパス>

元と先を逆にしちゃうと大惨事になるのでしっかり確認します。確認ホント大事。

> net use

Robocopyでネットワークドライブ上のファイルをコピー

コピー元とコピー先ドライブを指定し、以下のオプションを選択しました。

オプションのお品書き

  • /Z 再起動可能モード
  • /E 空のディレクトリも含めてサブディレクトリもコピー
  • /is 同一ファイルを含む(上書きコピー)
  • /XA:SH 隠しファイルとシステムファイルは除外
  • R:0 リトライ回数を0に
  • W:0 リトライの待ち時間を0に
  • /log+: ログファイルを追記形式で出力
  • /tee ログファイルと同時にコンソールにも表示する
> robocopy X: Y: /Z /E /is /XA:SH /R:0 /W:0 /log+:<log file> /tee

完全に呪文ですね。初見で死ぬ。

その他のオプションはこちら↓
Robocopy

ネットワークドライブの割り当て解除

後始末はしっかりと。確認も忘れずに!

> net use X: /delete
> net use Y: /delete
> net use

データ移行の仕事自体はクソつまらないあまり面白味はないですが、プログラマにはプログラマなりのやり方があるはず。