Пытался на Windows 8.1 удалить каталог, в котором полтысячи подкаталогов и в каждом по несколько файлов (или десятков файлов), которые являются хардлинками. Система на любой файл упорно выдавала ошибку, что файл не найден и Error Code 0x80070490 (Element not found). Единственный вариант, который реально удалял такие файлы, был Far, но удалять каждый файл по одному (сначала удалять хард линк, потом файл), мягко говоря, перспектива не хорошая. Удалить хардлинк из одного файла можно командой:
fsutil reparsepoint delete filename.ext
Затем удалить сам файл. Но это тоже нереально. Поэтому можно использовать рекурсивный цикл:
For /R %i in (*.*) do fsutil reparsepoint delete "%i"
После этого можно удалять каталоги прямо с файлами. К сожалению, такой вариант не удаляет ссылки у скрытых файлов, но тоже неплохо, удалось все удалить.