Как переместить файлы из старой структуры папок в новую?
Я хочу изменить мою существующую структуру папок. У меня было дерево файлов, которое было организовано следующим образом:
Client Name
State/Province
City
Order Number
Но я изменил его, добавив адрес перед номером заказа, разделенным дефисом, как таковой:
Client Name
State/Province
City
Order Number - Address
Я создал новую структуру папок с помощью макроса, который у меня был, который сгенерировал оригинал, и я решил, что это намного проще, чем переименовать существующие папки.
Итак, теперь я хочу загрузить пустые папки на свой сервер, но прежде чем я это сделаю, я хочу взять файлы со всей старой структуры и поместить их в новую.
Я просто пытаюсь написать сценарий, чтобы сопоставить имя папки в исходной иерархии с новой иерархией, которая содержит исходное имя плюс адрес, а затем скопировать файлы в исходной папке в папку с аналогичным именем в новой структуре.
Как бы я это сделал? VBA, Powershell, Batch Command? Я не очень хорошо разбираюсь в PS.
1 ответ
Используйте цикл foreach с командлетами Powershell Get-ChildItem, Copy-Item и Test-Path:
#Get all address subfolders
$addr_folders = Get-ChildItem c:\"Client Name"\State/Province\City\ -recurse | Where-Object {$_.PSIsContainer -eq $True}
#Loop through all address subfolders
foreach ($address in $addr_folders)
{
#Copy contents from existing subfolder path to new folder
if (Test-Path c:\"Client Name"\State/Province\City\"Order Number"\$address)
{
Copy-Item c:\"Client Name"\State/Province\City\"Order Number" c:\"Client Name"\State/Province\City\"Order Number - " $address
}
}