コピー操作
ファイルおよびディレクトリコピーの基本
ファイルやディレクトリのコピーを行うにはCopy-Itemコマンドレットを使用します。エイリアスはcpi, cp, copyです。
ファイル/ディレクトリのコピーの基本構文は下記の通りです。
Copy-Item -Path コピー元パス -Destination コピー先パス
ファイルをコピーする
下記は、「C:\Work」にあるTest.txtを「C:\Work2」へコピーします。
PS> Copy-Item -Path C:\Work\Test.txt -Destination C:\Work2

Copy-Itemコマンドレットはコピー先に既にファイルが存在する場合でも強制的にコピーを行います。
コピーを行うかどうかのメッセージを表示するには、-Confirmパラメータを使用します。
PS> Copy-Item -Path C:\Work\Test.txt -Destination C:\Work2 -Confirm

ファイルの名前を変更してコピーする
下記は「C:\Work\」にあるTest.txtを「C:\Work2\」へSample.txtに名前を変更してコピーします。
PS> Copy-Item C:\Work\Test.txt -Destination C:\Work2\Sample.txt

ディレクトリをコピーする
下記は「C:\Work」を「C:\Work2」の下へコピーします。
PS> Copy-Item -Path C:\Work -Destination C:\Work2

指定した拡張子を持つファイルのみコピーする
指定した拡張子のファイルのみをコピーするには、コピー元に拡張子を、コピー先にはコピーしたファイル格納先のディレクトリパスを指定します。
下記は「C:\Work」以下にある*.txtファイルを「C:\Work2」へコピーします。ただし、サブディレクトリを再帰的に検索して指定した拡張子のファイルを取得するわけではないため、「C:\Work\Sub1」などのサブディレクトリにある*.txtファイルはコピーされません。
PS> Copy-Item -Path C:\Work\*.txt -Destination C:\Work2

リネーム操作
ファイルおよびディレクトリのリネームの基本
ファイルやディレクトリのリネームを行うにはRename-Itemコマンドレットを使用します。エイリアスはrni, renです。
基本構文は下記の通りです。
Rename-Item -Path リネームするパス -NewName 新しい名前
ファイルのリネーム
ファイルのリネームは下記のようにリネーム元のパス、変更後の名前を指定します。
PS> Rename-Item C:\Work \Test.txt -NewName Sample.txt

ディレクトリのリネーム
ディレクトリのリネームもファイルのリネームと同様に下記のようにリネーム元のパス、変更後の名前を指定します。
PS> Rename-Item C:\Work -NewName Sample

まとめ
今回は
- ロケーション操作
- 移動
- 削除
- コピー
- リネーム
の操作方法を例を交えて解説しました。
今回使用したコマンドレットには、紹介した以外にも数多くのパラメータが備わっています。また他のコマンドレットと組み合わせることで、より便利に使用することが可能です。
ぜひ身につけて今後の業務に生かしていただければ幸いです。
参考文献
- HIRO's.NET
- PowerShell from Japan!!
- 『Windows PowerShell ポケットリファレンス』 牟田口大介 著、技術評論社、2008年4月
- 『Windows PowerShell クックブック』 Lee Holmes 著、マイクロソフト株式会社ITプロ エバンジェリストチーム 監訳/監修、菅野良二 訳、オライリージャパン、2008年10月
