Я должен перенести данные со старого сервера на новый при изменении структуры.
Пример:
- old: "C: \ test \ old \ Data \ Werkstatt \ 06. Aufträge \ companyA \ 200031_Signs"
- new: "C: \ test \ new \ Data \ 06. Aufträge \ companyA \ 200031_companyA_Signs"
В старой структуре заказы компании находятся в одной папке.
В новой структуре все заказы должны быть перенесены непосредственно в папку заказов. Название состоит из номера заказа + разделитель + название компании + название.
текущая задача - это папки, которые были успешно скопированы из "C: \ test \ old \ Data \ Werkstatt \ 06. Aufträge \% company% \" в папке "C: \ test \ old \ Data \ Werkstatt \ 06 . Aufträge \% company% \ Z_Transfered "для перемещения.
Я пытался:
$sourcepath = "C:\test\old\Data\Werkstatt\06. Aufträge"
$basepath = "C:\test\new\Data\06. Aufträge"
$Orders = Get-ChildItem -Path $sourcepath -Directory -Recurse -Depth 1
ForEach ($Order in $Orders ) {
if ($Order.name.StartsWith("20")){
$NewFolderName = "{0}\{1}" -f ($BasePath),($order.Name.insert(6,"_" + $order.parent.Name))
$NewFolder = New-Item -Path $NewFolderName -ItemType "directory"
Copy-Item -Path "$($Order.FullName)\*" -Destination $NewFolder -Recurse -Force
#under construction
$MoveFolderName = Join-Path -path $sourcepath -ChildPath $order.parent | Join-Path -ChildPath "Z_Transfered"
if (-not (Test-Path $MoveFolderName))
{
New-Item -Path $MoveFolderName -ItemType "directory"
}
$MoveFolder = $MoveFolderName +"\" + $order.name
Move-Item -Path "$($Order.FullName)\*" -Destination $MoveFolder
$error > $sourcepath"\error.log"
}
}
Я адаптировал код, который получил вчера. В настоящее время у меня есть еще одна ошибка в коде.
Копирование контента в нужное место работает сейчас.
В настоящее время он создает папку Z_Transfered под папкой клиента. Проблема, кажется, с Move-Item.
В настоящее время папка не перемещается в Z_Transfered, только файлы из папки клиента перемещаются и, к сожалению, также переименовываются. Может кто-нибудь помочь мне здесь, пожалуйста?