
Примечание:
- NTFS- версия 3.1 - б/уfsutilдля получения информации
- Microsoft Windows XP [Версия 5.1.2600]
Вопрос:
- Метод (или инструмент) получения,список файловнабор дляудаление при следующей перезагрузке системы?
решение1
Существует бесплатная программа MS/Sysinternals, которая называетсяpendmovesкоторый может показать вам список файлов, ожидающих удаления/перемещения при перезагрузке.
Вы также можете просмотреть следующий раздел реестра для получения списка ожидающих операций:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations
Операция API, которая это делает, называется MoveFileEx() с опцией MOVEFILE_DELAY_UNTIL_REBOOT.
Более подробная информация вэта КБ.
К вашему сведению, чтобы вручную добавить рабочую запись в эту область реестра, вы можете сделать следующее:
Запустите REGEDT32 (W2K) или REGEDIT (WXP) и перейдите к: HKLM\System\CurrentControlSet\Control\Session Manager
W2K: Изменить, Добавить значение..., Тип данных: REG_MULTI_SZ, Имя значения: PendingFileRenameOperations, ОК
WXP: Правка, Создать, Многострочный параметр, [enter] ОжидающиеОперацииПереименованияФайла
- В области данных введите "\??\" + имя файла, который нужно удалить. LFN можно вводить без кавычек. Чтобы удалить "C:\Long Directory Name\Long File Name.exe", введите следующие данные:
\??\C:\Длинное имя каталога\Длинное имя файла.exe
Затем нажмите ОК.
- «Имя файла назначения» — это пустая (нулевая) строка. Она вводится следующим образом:
W2K: «Правка», «Двоичный», выберите «Формат данных: Шестнадцатеричный», щелкните в конце шестнадцатеричной строки, введите 0000 (четыре нуля), ОК.
WXP: Щелкните правой кнопкой мыши по значению, выберите «Изменить двоичные данные», щелкните в конце шестнадцатеричной строки, введите 0000 (четыре нуля), нажмите ОК.
- Закройте REGEDT32/REGEDIT и перезагрузите компьютер, чтобы удалить файл.
Конечно, используяпереместитьфайлпроще, чем делать все это.