Копирование данных с одного сервера на другой для замены / перезаписи файлов размером 0 КБ в определенном дереве папок. - PullRequest
1 голос
/ 20 марта 2019

Я очень новичок в PS, и мне было интересно, если кто-то может помочь мне с проблемой сценариев PS.

Мне нужно восстановить данные с сервера, который использовал MailMeter Archiver в качестве инструмента резервного копирования (не моя идея). Когда компания обновилась до MSS2008R2 на более новом сервере, они попытались скопировать резервную копию со старого сервера на новый сервер.

Несмотря на то, что большая часть данных была скопирована, она оставила загрузку 0KB файлов и структуры папок. На старом сервере данные все еще не повреждены, но оперативные данные были обновлены, поэтому я не могу просто скопировать заархивированные данные.

Я написал сценарий поиска, чтобы найти все файлы 0KB в их структуре папок,

Get-ChildItem -Path C:\%Folders% -Recurse -Filter *.* | Where {$_.Length -eq 0} | Select-Object FullName | Add-Content -Path C:\Test\%filename% 

но я застрял на том, как мне написать сценарий чтения выходного файла, поиска в старом каталоге сервера, копирования файлов и перезаписи файлов 0KB в структуре папок с исходными данными .. . ~37000 элементы данных отсутствуют ... Указатели? Кто-нибудь?

1 Ответ

0 голосов
/ 20 марта 2019

Не уверен, что именно ты хочешь сделать. Таким образом, в основном перезаписать все файлы 0kb с оригиналами из старой структуры? Как это?

$oldDir = "C:\server1"
$newDir = "C:\server2"

# get all 0kb files
Get-ChildItem $newDir -Recurse -Filter *.* | where { $_.Length -eq 0 } | foreach {
    # get original path and copy/overwrite
    Copy-Item $_.FullName.Replace($newDir, $oldDir) $_.FullName -Force -Confirm:$false
}

Дайте мне знать, если это то, что вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...