サブフォルダーがあるフォルダーから、元のフォルダーと同じサブフォルダーを含む新しいフォルダーに再帰 Copy-Item を実行すると、サブフォルダーが既に存在する場合にエラーがスローされます。
これは偽陰性であり、真の失敗が見にくくなる可能性があるため、どうすれば抑制できますか?
例:
Copy-Item "C:\realFolder\*" "C:\realFolder_new" -recurse
Copy-Item : Item with specified name C:\realFolder_new\subFolder already exists.
発生したエラーをキャプチャして、それを気にするかどうかを決めることができます。
Copy-Item "C:\realFolder\*" "C:\realFolder_new" -recurse -ErrorVariable capturedErrors -ErrorAction SilentlyContinue
$capturedErrors | foreach-object { if ($_ -notmatch "already exists") { write-error $_ } }
コマンドに-Force
を追加すると、既存のファイルが上書きされ、エラーは表示されません。
-Recurse
は、各フォルダーおよびすべてのサブフォルダー内のすべてのアイテムを置き換えます。
Copy-Item "C:\realFolder\*" "C:\realFolder_new" -Recurse -Force
以下を使用して、エラー処理動作を無視するように設定できます。
Copy-Item "C:\realFolder\*" "C:\realFolder_new" -recurse -ErrorAction SilentlyContinue
しかし、これはあなたが知りたいエラーも抑制しますdid知りたい!