7

У меня на рабочем столе есть папка с именем «..» (которая сама содержит подпапки с пустым именем). Папка не может быть удалена обычными способами, даже при использовании CLI. Кто-нибудь знает, как я могу удалить эту папку в Windows Vista 64-разрядной?

Переименование тоже не работает (очевидно).

Вот что повторяет "dir /x":

09.10.2009  15:04    <DIR>                       .
09.10.2009  15:04    <DIR>                       ..
08.03.2007  11:18    <DIR>                       cgi-bin
               0 Datei(en),              0 Bytes
               3 Verzeichnis(se), 45.866.037.248 Bytes frei

10 ответов10

17

Dir / X скажет вам правильное имя папки.

09/10/2009  15:05    <DIR>                       ..
09/10/2009  15:05    <DIR>          5C51~1.-      .. -
29/09/2009  13:14    <DIR>          BUSINE~1     .businessobjects

Тогда вам просто нужно удалить папку, используя это короткое имя.

rmdir 5C51~1.-
11

Вы можете использовать специальные \\?\ синтаксис, чтобы попытаться удалить каталог. Попробуйте, как я мог, я не смог создать каталог только с .. в нем, но смог создать файл с пробелом перед ним и .. (так ..) и проводник и обычные инструменты не смогли удалить его.

Чтобы использовать \\?\ синтаксис вы должны полностью указать путь. например:

rmdir "\\?\C:\Users\acme\Desktop\.."

Попробуйте нажать клавишу табуляции для циклического перемещения по именам каталогов на рабочем столе, как только вы получите окончательный \ после Desktop . Если вы это сделаете, Windows начнет автоматическое заполнение каталогов, которые существуют в этой папке. Я предлагаю это, поскольку фактическое имя каталога может быть чем-то вроде .. или .. что приведет к сбою вышеупомянутой команды с "Не удается найти каталог".

РЕДАКТИРОВАТЬ: Если это не каталог, а файл (проводник может показать, что это "каталог", так как .. указывает на родительский каталог), вы можете использовать тот же \\?\ синтаксис с командой del .

8

[Примечание, учитывая положительные отзывы: вопрос не в обычном Dos или Unix-подобном "." и ".." для текущего и родительского каталога.Это действительно о папке с этим именем. Таким образом, ответ ниже не относится. AvB.]

Поправьте меня, если я полностью неправильно понял вопрос, но в Windows ".." является родителем текущей папки.

То есть из командной строки выполнение cd .. находясь в папке Desktop, приведет вас к его родителю (C:\Users\username\ на моей машине x64 с Win7).

7

Перейдите на рабочий стол в командном окне («cd C:\Users\YourUserName\Desktop»). Введите «DIR /X» - это выложит список каталогов.

Там будет две записи в верхней части с именем "." а также "..". Ищите другое ".." ПОСЛЕ того, в самом правом столбце. У него есть другое имя в следующем столбце? Это короткое имя файла. Введите «rmdir /s [короткое имя файла]». Перечитай, что ты набрал. Перечитайте еще раз - убедитесь, что вы ввели его прямо перед тем, как нажать Enter.

НЕ запускайте «rmdir /s ..» - произойдут плохие вещи.

2

Вы пробовали chkdsk или подобное? (Не знаю, есть ли Chkdsk на Vista.)

0

Предложение (1) Войдите в систему как другой пользователь, переместите все ваши действительные файлы из каталога Desktop, затем удалите / воссоздайте его.

Предложение (2) Unix-инструменты Win32 обычно работают немного лучше, чем эквиваленты cmd, поэтому я бы попробовал. По крайней мере, их стоит установить:

http://unxutils.sourceforge.net/

0

Поскольку я никогда не видел каталог с таким именем, я могу только предложить попробовать использовать старый DOS.
Используйте в командной строке или cmd.exe команду dir с параметром -x.
Если файл отображается с любым другим именем, кроме "..", используйте команду del:

del file~1.MOV

Если это не работает, попробуйте:

del ".."

В противном случае переместите все остальное из каталога и используйте неявный del:

Del *.*

затем верните перемещенные файлы обратно.

0

Я думаю, что Unlocker может помочь вам. Это очень простой инструмент, работающий с Vista x64.

-1

На постере выше, который сказал, чтобы ввести "Del ..", не делайте этого. Он подскажет вам: «Вы уверены (да / нет)?и ответив Y удалит все файлы в каталоге НИЖЕ. Извините за публикацию в окне ответа, но я только присоединился к Yest и пока не могу оставлять комментарии.

Попробуйте загрузить Linux Live CD и удалите каталог '..' через него.

-4

Загрузитесь с Linux live cd и убедитесь, что у вас есть доступ к жесткому диску, ... затем в терминале запустите:

sudo rm -R /path/to/file/or/folder/named/..

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .