PowerShellでディレクトリの存在確認し、存在すればディレクトリコピーする

PowerShellでディレクトリの存在確認し、存在すればディレクトリコピーします。

ディレクトリの存在確認はファイルと同じでtest-pathです。

if(test-path 'c:\work_ps\dir1'){
write 'Directory is exist.';
}else{
write 'Directory is not exist.';
}

これをa.ps1としてスクリプトを実行します。

PS C:\work_ps> .\a.ps1
Directory is exist.
PS C:\work_ps>

では次に存在する場合、そのディレクトリをコピーします。ディレクトリコピーはcopy-itemコマンドを使用します。

if(test-path 'c:\work_ps\dir1'){
copy-item C:\work_ps\dir1 -destination C:\work_ps\dir3
}else{
write 'Directory is not exist.';
}

第一引数にコピー元ディレクトリを指定し、-destinationパラメータを使用してコピー先ディレクトリを指定します。

dir3が存在しない場合はdir1がそのままコピーされます。

dir1配下に存在するディレクトリ、ファイルはコピーされません。

再帰的にコピーしたい場合は-recurseパラメータを指定します。

if(test-path 'c:\work_ps\dir1'){
copy-item C:\work_ps\dir1 -destination C:\work_ps\dir3 -recurse
}else{
write 'Directory is not exist.';
}

copy-itemコマンドで気をつけなくてはいけないのは、コピー先ディレクトリが既に存在する場合はそのディレクトリ配下にコピー元ディレクトリがコピーされてしまう事です。

スポンサーリンク
  • このエントリーをはてなブックマークに追加
スポンサーリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA