ジャンクション・シムリンク
ジャンクション(シムリンク)をコピーする時のRobocopyの仕様
- Robocopyの既定では、コピー元にジャンクション(シムリンク)があると、通常のファイル(フォルダ)としてコピーする。
- (ジャンクションのままコピーするには/slオプションを使う。)
- ジャンクション元にさらにジャンクションがあった場合、Robocopyは無限ループしてしまう。
- /xjオプションによって、ジャンクションをコピー対象から外せる。
オプション
xj | 接合ポイントを除外します。(/xjd + /xjf) |
xjd | ディレクトリの接合ポイントを除外します。 |
xjf | ファイルの接合ポイントを除外します。 |
sl | ターゲットの代わりにシンボリック リンクをコピーします。 |
- slオプションでシムリンクをシムリンクとしてコピーするには、通常、管理者権限が必要。
- xjオプションはslオプションより優先される。xjオプションがあれば、slオプションがあっても、ジャンクションはコピーされない。
シムリンクをシムリンクとしてコピーする
cd src
mklink A.txt 1.txt (1)
cd ..
robocopy /sl src dst (2)
dir dst (3)
2018/06/27 09:22 6 1.txt
2018/06/27 09:23 <SYMLINK> A.txt [1.txt]
- (1) srcディレクトリ以下にシムリンク A.txt を作成
- (2) /slオプションをつけてRobocopyを実行
- (3) dstディレクトリにできたA.txtはシムリンク
- なお、/slオプションをつける時は、管理者権限でコマンドプロンプト(PowerShell)を起動して実行する
シムリンクを普通のファイルとしてコピーする
cd src
mklink A.txt 1.txt (1)
cd ..
robocopy src dst (2)
dir dst (3)
2018/06/27 09:22 6 1.txt
2018/06/27 09:22 6 a.txt
- (1) srcディレクトリ以下にシムリンク A.txt を作成
- (2) /slオプションをつけないでRobocopyを実行
- (3) dstディレクトリにできたA.txtは普通のファイル
参考
https://technet.microsoft.com/ja-jp/library/cc733145(v=ws.10).aspx