* Copy-ItemのRecusiveオプション [#t37130c7]

** 概要 [#x3e5ee9e]
- PowerShellのCopy-Itemを-Recursiveなしでディレクトリに対して実行すると、そのディレクトリだけがコピーされる。
- コピー先ディレクトリが存在しない場合はコピー元ディレクトリと同名で新規にディレクトリが作成され、
- コピー先ディレクトリが存在する場合はコピー先ディレクトリ下にコピー元ディレクトリと同名で新規にディレクトリが作成される。
- なお、UNIXのBashなどの場合、cpを-rなしでディレクトリに対して実行するとエラーになる。

** ディレクトリだけコピーする - Recusiveオプションなし[#q4ab32de]
*** 0. 現在の状態 [#k95b67c5]
 PS> dir -r | select fullname
 
 FullName
 --------
 C:\tmp\dir1
 C:\tmp\dir1\1.txt

*** 1. dir1をコピーしてdir2を作る [#l9de438f]
 PS> Copy-Item dir1 dir2
 PS> dir -r | select fullname
 
 FullName
 --------
 C:\Users\brazil\tmp\dir1
 C:\Users\brazil\tmp\dir2
 C:\Users\brazil\tmp\dir1\1.txt
 C:\tmp\dir1
 C:\tmp\dir2
 C:\tmp\dir1\1.txt

*** 2. dir1をコピーしてdir2の下にdir1を作る [#r65a262f]
 PS> Copy-Item dir1 dir2
 PS> dir -r | select fullname
 
 FullName
 --------
 C:\Users\brazil\tmp\dir1
 C:\Users\brazil\tmp\dir2
 C:\Users\brazil\tmp\dir1\1.txt
 C:\Users\brazil\tmp\dir2\dir1
 C:\tmp\dir1
 C:\tmp\dir2
 C:\tmp\dir1\1.txt
 C:\tmp\dir2\dir1

** ディレクトリを再起的にコピーする - Recusiveオプションあり [#b7769921]
*** 0. 現在の状態 [#k95b67c5]
 PS> dir -r | select fullname
 
 FullName
 --------
 C:\tmp\dir1
 C:\tmp\dir1\1.txt

*** 1. dir1をコピーしてdir2を作る [#w7a861ae]
 PS tmp> Copy-Item -Recurse dir1 dir2
 PS tmp> dir -Recurse | select fullname
 
 FullName
 --------
 C:\Users\brazil\tmp\dir1
 C:\Users\brazil\tmp\dir2
 C:\Users\brazil\tmp\dir1\1.txt
 C:\Users\brazil\tmp\dir2\1.txt
 C:\tmp\dir1
 C:\tmp\dir2
 C:\tmp\dir1\1.txt
 C:\tmp\dir2\1.txt

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS