Наскоро ми се наложи да се позанимавам с един прясно ъпгрейднат(обновен) Windows Server. Microsoft обикновено препоръчва при сървърите винаги да правите нови инсталации и да мигрирате, с изключение на сървърите System Center Configuration Manager, където се поддържа конфигурация за надграждане на версии на Windows. Та въпросният сървър беше с препълнен диск C, и в тази връзка реших накратко да опиша процеса за премахване на windows.old директорията. Можете да освободите от 6 GB до 15 GB, като премахнете папката windows.old, където се премества всичко, що е Windows базирано, когато решите да надстроите вашия Windows Server.
Изтеглете помощната програма SysInternals Junction, която ще използваме за намиране и изтриване на directory symbolic links (или NTFS Junctions), които все още съществуват в структурата на директорията.
След като изтеглите програмата и я разархивирате създайте PowerShell файл със следния код и го запишете в C : \ temp (местоположението в ще работим).
foreach ($line in [System.IO.File]::ReadLines("c:\temp\junctions.txt"))
{
if ($line -match "^\\")
{
$file = $line -replace "(: JUNCTION)|(: SYMBOLIC LINK)",""
& c:\temp\junction64.exe -d "$file"
}
}
Горният код ще обходи т. нар. junction list, който можем да извлечем с командата по-долу.
На по-голямата част от системите това всъщност трябва да върне празно, което показва, че ъпгрейдването на Windows е преминало гладко.
junction -s C:\Windows.old > junctions.txt
След което изпълняваме PowerShell файла, който първоначално написахме и текстовия файл, който току-що създадохме с помощната програма Junction. Щом се направи това, можем да започнем да почистваме. Следва да променим собствеността на файловете:
takeown /F c:\Windows.old\* /R /A /D Y
Ще откриете, че това ще е всичко, от което имате нужда. Сега може да използвате rmdir командата.Ако все пак по някаква причина не можете да изпълните командата rmdir изпълнете тази допълнителна команда:
cacls c:\Windows.old\*.* /T /grant administrators:F
А ето и командата rmdir - rmdir /S /Q c:\Windows.old