【PowerShell】ファイルをコピーする方法


この記事はプロモーションを含みます。

PowerShell

ホーム > PowerShell 逆引きリファレンス

PowerShellでファイルをコピーする方法を解説します。

ファイルをコピー

シンプルにファイルをコピーする方法です。

書式

Copy-Item -Path <コピー元のファイルパス> -Destination <コピー先のファイルパス>

サンプル

「C:\ws」配下にある「Test1.txt」を「Test2.txt」としてコピーします。

# コピー元のファイルパスを定義
set-variable -name fromFile -value "C:\ws\Test1.txt" -option constant

# コピー先のファイルパスを定義
set-variable -name toFile -value "C:\ws\Test2.txt" -option constant

# コピーの実行
Copy-Item -Path $fromFile -Destination $toFile

実行結果

サンプルの実行前後の状態です。

コピー前の状態
C:\ws\Test1.txt
コピー先の状態
C:\ws\Test1.txt
C:\ws\Test2.txt

ファイルを上書きコピー

ファイルを上書きコピーする方法です。
下記状態の場合、通常のコピーではエラーとなる場合があります。
・コピー先のファイルが既に存在する
・コピー先のファイル属性が読み取り専用となっている

このような場合、オプションに「-Force」(強制)を付けて、強制的にコピーさせる必要があります。

コピー先のファイル属性が読み取り専用の場合に通常のコピーを行うと以下のようなエラーが発生します。

Copy-Item : パス 'C:\ws\Test2.txt' へのアクセスが拒否されました。
発生場所 C:\workspace\PowerShell\powershell-copy-item.ps1:16 文字:1
+ Copy-Item -Path C:\ws\Test1.txt -Destination C:\ws\Test2.txt
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : PermissionDenied: (C:\ws\Test1.txt:FileInfo) [Copy-Item], UnauthorizedAccessException
    + FullyQualifiedErrorId : CopyFileInfoItemUnauthorizedAccessError,Microsoft.PowerShell.Commands.CopyItemCommand

書式

Copy-Item -Path <コピー元のファイルパス> -Destination <コピー先のファイルパス> -Force

サンプル

「C:\ws」配下にある「Test1.txt」を「Test2.txt」としてコピーします。

# コピー元のファイルパスを定義
set-variable -name fromFile -value "C:\ws\Test1.txt" -option constant

# コピー先のファイルパスを定義
set-variable -name toFile -value "C:\ws\Test2.txt" -option constant

# 上書きコピーの実行
Copy-Item -Path $fromFile -Destination $toFile -Force

実行結果

サンプルの実行前後の状態です。

コピー前の状態
C:\ws\Test1.txt
コピー先の状態
C:\ws\Test1.txt
C:\ws\Test2.txt

コメント

タイトルとURLをコピーしました