PowerShell - подавить ошибку Copy-Item "Папка уже существует"
Когда я запускаю рекурсивный элемент Copy-Item из папки, в которой есть подпапки, в новую папку, которая содержит те же подпапки, что и оригинал, он выдает ошибку, когда подпапки уже существуют.
Как я могу подавить это, потому что это ложный минус и может сделать истинные ошибки труднее увидеть?
Пример:
Copy-Item "C:\realFolder\*" "C:\realFolder_new" -recurse
Copy-Item : Item with specified name C:\realFolder_new\subFolder already exists.
Ответы
Ответ 1
Вы можете попытаться зафиксировать любые ошибки и решить, заботитесь ли вы об этом или нет:
Copy-Item "C:\realFolder\*" "C:\realFolder_new" -recurse -ErrorVariable capturedErrors -ErrorAction SilentlyContinue
$capturedErrors | foreach-object { if ($_ -notmatch "already exists") { write-error $_ } }
Ответ 2
Если вы добавите -Force
к вашей команде, она перезапишет существующие файлы, и вы не увидите ошибку.
-Recurse
заменит все элементы в каждой папке и всех подпапках.
Copy-Item "C:\realFolder\*" "C:\realFolder_new" -Recurse -Force
Ответ 3
Вы можете установить поведение обработки ошибок для игнорирования с помощью:
Copy-Item "C:\realFolder\*" "C:\realFolder_new" -recurse -ErrorAction SilentlyContinue
Однако это также подавляет ошибки, о которых вам сделал!