У меня есть скрипт, который я использую для резервного копирования файлов. По какой-то причине он только копирует файлы и каталог подпапки при втором запуске сценария. Сообщение об ошибке
Msgstr "Контейнер не может быть скопирован на существующий элемент листа".
Я ищу эту ошибку, и они говорят, что я копирую файл с тем же именем файла, но это подкаталог, который даже не создается при первом запуске скрипта. Папка назначения пуста при первом запуске. Есть идеи?
Исходный каталог выглядит так:
\\DRIVE01\Svcs
\Credential
\Forms
file and dir list #this dir level doesn't get copied the first time, but the files do
Вот как выглядит toLoc после первого выполнения:
me\Documents\2018\powershellFiles\toLoc
\Credential
\Forms
file list #the first time the files get copied without the dirs at this level
Это мой сценарий:
function CopyFileToFolderUNC($SourcePath, $DestinationPath){
Copy-Item -Path $SourcePath/* -Destination $DestinationPath #Copy-Item -Path source -Destination target -Recurse -Force
}
#################start here##################################
$tempSource = @("\\DRIVE01\Svcs\Credentialing\FORMS") #eventually will have list of more than one here
$ToLocation = "C:\Users\me\Documents\2018 \powershellFiles\toLoc\Credentialing\FORMS\" #this will eventually be array with multiple in it
for($i=0; $i -lt ($tempSource.Length); $i++) {
CopyFileToFolderUNC $tempSource[$i] $ToLocation
}
Прежде чем перейти к циклу for из foreach, я подумал, что он работает для подкаталогов в toLoc. Мне нужен цикл for, потому что будет легче иметь дело с массивами для строк dir источника и назначения, которые будут следующими.