* ジャンクション・シムリンク [#d2b831ef]
** ジャンクション(シムリンク)をコピーする時のRobocopyの仕様 [#m035b952]
- Robocopyの既定では、コピー元にジャンクション(シムリンク)があると、通常のファイル(フォルダ)としてコピーする。
--(ジャンクションのままコピーするには/slオプションを使う。)
- ジャンクション元にさらにジャンクションがあった場合、Robocopyは無限ループしてしまう。
- /xjオプションによって、ジャンクションをコピー対象から外せる。
*** オプション [#leaeee7f]
| xj | 接合ポイントを除外します。(/xjd + /xjf) |
| xjd | ディレクトリの接合ポイントを除外します。 |
| xjf | ファイルの接合ポイントを除外します。 |
| sl | ターゲットの代わりにシンボリック リンクをコピーします。 |
- slオプションでシムリンクをシムリンクとしてコピーするには、通常、管理者権限が必要。
- xjオプションはslオプションより優先される。xjオプションがあれば、slオプションがあっても、ジャンクションはコピーされない。
** シムリンクをシムリンクとしてコピーする [#ga378e72]
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)を起動して実行する
** シムリンクを普通のファイルとしてコピーする [#ga378e72]
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は普通のファイル
** 参考 [#j48a174c]
https://technet.microsoft.com/ja-jp/library/cc733145(v=ws.10).aspx