PowerShellで、フォルダ(フォルダに格納されているファイルも含めて)をコピーする方法を解説します。
サンプル色々!PowerShellのリファレンスはこちら↓↓
フォルダをコピー
シンプルにフォルダをコピーする方法です。
書式
Copy-Item <コピー元のフォルダパス> -Recurse <コピー先のフォルダパス>
サンプル
「C:\ws\From」配下の「Dir1\Dir2」を「C:\ws\To」配下にコピーします。
Copy-Item C:\ws\From\Dir1 -Recurse C:\ws\To
下記のようにワイルドカードを使用することも可能です。
Copy-Item C:\ws\From\* -Recurse C:\ws\To
実行結果
サンプルの実行前後の状態です。
PowerShellのコンソールには何も出力されませんでした。
コピー前の状態
C:\ws\From C:\ws\From\Dir1 C:\ws\From\Dir1\File1.txt C:\ws\From\Dir1\Dir2 C:\ws\From\Dir1\Dir2\File2.txt C:\ws\To
赤字のファイル(フォルダ)がコピーされていることが分かります。
コピー後の状態
C:\ws\From
C:\ws\From\Dir1
C:\ws\From\Dir1\File1.txt
C:\ws\From\Dir1\Dir2
C:\ws\From\Dir1\Dir2\File2.txt
C:\ws\To
C:\ws\To\Dir1
C:\ws\To\Dir1\File1.txt
C:\ws\To\Dir1\Dir2
C:\ws\To\Dir1\Dir2\File2.txt
リンク
フォルダ名をリネームしつつコピー
フォルダ名をリネーム(変更しつつ)コピーする方法です。
書式
書式は普通のコピーと変わりません。コピー先のフォルダが存在しない場合に自動的にリネームされます。
Copy-Item <コピー元のフォルダパス> -Recurse <コピー先のフォルダパス>
サンプル
「C:\ws\From」配下の「Dir1\Dir2」を「C:\ws\To」配下にコピーします。
合わせて、「Dir1」を「Folder1」にリネーム(フォルダ名の変更)します。
Copy-Item C:\ws\From\Dir1 -Recurse C:\ws\To\Folder1
実行結果
サンプルの実行前後の状態です。
PowerShellのコンソールには何も出力されませんでした。
コピー前の状態
C:\ws\From C:\ws\From\Dir1 C:\ws\From\Dir1\File1.txt C:\ws\From\Dir1\Dir2 C:\ws\From\Dir1\Dir2\File2.txt C:\ws\To
赤字のファイル(フォルダ)がコピーされていることが分かります。
また、緑字のようにフォルダ名がリネーム(変更)されていることがわかります。
コピー後の状態
C:\ws\From C:\ws\From\Dir1 C:\ws\From\Dir1\File1.txt C:\ws\From\Dir1\Dir2 C:\ws\From\Dir1\Dir2\File2.txt C:\ws\To C:\ws\To\Folder1 C:\ws\To\Folder1\File1.txt C:\ws\To\Folder1\Dir2 C:\ws\To\Folder1\Dir2\File2.txt
リンク
コピー先のフォルダを作成しつつコピー
コピー先のフォルダが存在しない場合に作成しつつ、コピーする方法です。
書式
書式は普通のコピーと変わりません。コピー先のフォルダの有無により、自動的に挙動が変更されるようです。
Copy-Item <コピー元のフォルダパス> -Recurse <コピー先のフォルダパス>
サンプル
「C:\ws」に「To\To2」を作成し、「C:\ws\From」配下の「Dir1\Dir2」を作成した「To\To2」配下にコピーします。
Copy-Item C:\ws\From\Dir1 -Recurse C:\ws\To\To2\Dir1
実行結果
サンプルの実行前後の状態です。
PowerShellのコンソールには何も出力されませんでした。
コピー前の状態
C:\ws\From C:\ws\From\Dir1 C:\ws\From\Dir1\File1.txt C:\ws\From\Dir1\Dir2 C:\ws\From\Dir1\Dir2\File2.txt
緑字のフォルダ作成され、赤字のファイル(フォルダ)がコピーされていることが分かります。
コピー後の状態
C:\ws\From
C:\ws\From\Dir1
C:\ws\From\Dir1\File1.txt
C:\ws\From\Dir1\Dir2
C:\ws\From\Dir1\Dir2\File2.txt
C:\ws\To
C:\ws\To\To2
C:\ws\To\To2\Dir1
C:\ws\To\To2\Dir1\File1.txt
C:\ws\To\To2\Dir1\Dir2
C:\ws\To\To2\Dir1\Dir2\File2.txt
コメント