Удаление файла с указанием полного пути - почему это работает?
Попытка удалить папку в Проводнике не удалась с error 0x80070091: the directory is not empty
, del
из командной строки администратора выдал ошибку "Отказано в доступе". Разрешения и владение в порядке.
del \\?\c:\path\to\folder
удалось. Почему это работает, когда del c:\path\to\folder
не?
РЕДАКТИРОВАТЬ: Длина пути была 29 символов, как в:C:\users\A-AAAAAA\desktop\BBB
(фактический формат пути с отредактированной личной информацией - совпадение числа символов. BBB - это рассматриваемая папка).
2 ответа
Я думаю, что причина "полного пути" в том, что Windows может не просматривать его как папку при доступе по полному пути.
del
Команда используется для удаления файлов.
rd
Команда (удалить каталог) используется для удаления папок.
Если вы хотите удалить папку, запустите:
rd C:\path\to\folder
Если вы хотите удалить дерево папок (включая файлы и подпапки), запустите:
rd /s C:\path\to\folder
Также запускаю команду del C:\path\to\folder
в командной строке фактически не удалит папку, а скорее удалит содержимое этой папки, так что думайте об этом скорее как псевдоним для del C:\path\to\folder\*
,
Вероятно, это был очень длинный путь или имя файла? Я никогда не слышал об этом раньше, но я немного погуглил и, видимо, ваш синтаксис может быть использован для их удаления.
Undeletable Files
Files are sometimes created with the very long filenames or reserved names:
CON, AUX, COM1, COM2, COM3, COM4, LPT1, LPT2, LPT3, PRN, NUL
To delete these use the syntax: DEL \\.\C:\somedir\LPT1
Alternatively SUBST a drive letter to the folder containing the file.