Как удалить файл, оканчивающийся точкой в ​​Windows 7?


33

После установки Cygwin на Windows 7 и понимания того, что лучше использовать Linux в другом разделе, я захотел удалить его. Однако у Cygwin нет деинсталлятора, поэтому у меня осталась возможность удалить всю папку, в которой он был установлен - что я и сделал.

Проблема заключается в том, что один файл остается, в целом дерево каталогов, названной README.в C:\cygwin\usr\share\texmf-dist\doc\latex\hausarbeit-jura\README.

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

Предмет не найден

Это больше не находится в C:\cygwin\usr\share\texmf-dist\doc\latex\hausarbeit-jura. Проверьте местоположение элемента и попробуйте снова.

При просмотре свойств файла (щелчок правой кнопкой мыши, Свойства), Windows сообщает, что он имеет 0 байтов. Однако, при просмотре в окне проводника и нажатии на него, строка состояния окна сообщает, что у нее 517 байт.

Есть идеи как от этого избавиться?


Это выстрел в темноте, так как я не уверен, какие шаги вы предприняли, но вы пытались удалить его из кли?
Штурм

Да, я получаю точно такую ​​же ошибку.

Вы можете написать короткую программу, чтобы отсоединить именно этот файл. Это будет работать.
OmnipotentEntity


1
Почему бы просто не использовать подстановочные символы : del README*?
Дмитрий Григорьев

Ответы:


52

Перепробовав все эти предложения и многое другое, я так и не смог удалить оскорбительные файлы.

В конечном итоге он использовал следующий синтаксис (в командной строке с повышенными правами):

del "\\?\<full path to file>"

например, чтобы использовать оригинальный пример:

del "\\?\C:\cygwin\usr\share\texmf-dist\doc\latex\hausarbeit-jura."

Я сделал это, когда решение сценария vbs в принятом ответе не работало. Файл ушел:]
FRob

Это работает ! Действительно удивительным!
Пол Варгас

Это должен быть принятый ответ.
Гаурав


1
Его 2019, и я могу подтвердить, что это работает - и, кажется, самое простое решение. Непонятно, имеет ли это значение, но я запускал его из CMD, запущенного в режиме администратора. Спасибо @micha
Пол Т.

15

Какое действительно простое решение, которое я нашел. Это самый простой и быстрый и простой способ добиться этого. Я сейчас смеюсь над тем, как все просто.

  1. Установите WinRAR
  2. Следуйте пошаговой процедуре из рисунков:
  3.  
    введите описание изображения здесь
  4.  
    введите описание изображения здесь
  5.  
    введите описание изображения здесь
  6.  
    введите описание изображения здесь

Я не знаю, можете ли вы сделать это с 7zip, но у WinRAR он есть, и вам не нужно его покупать, просто установите пробную версию, а затем удалите ее (или, возможно, портативные устройства, но я не думаю, что они являются законными то есть они возможно взломаны.)


2
Отличный трюк. Единственное, что сработало для меня
Cynapse

2
7zip работает отлично. Спасибо :-).
Михал Повага

1
Мне действительно это нравится, потому что по моему опыту битые файлы часто являются результатом использования WinRar
user502144

Очень хороший Winrar создал мои файлы, он должен быть в состоянии удалить их
user1156544

2
У меня работал 7-zip
HackSlash

6

Откройте командную строку с повышенными привилегиями и введите следующие команды, нажимая Enterпосле каждой из них:

cd C:\cygwin\usr\share\texmf-dist\doc\latex\hausarbeit-jura\

del *.*

Y

cd c:\

rmdir /s /q C:\cygwin\usr\share\texmf-dist\doc\latex\hausarbeit-jura\

rmdir /s /q C:\cygwin\usr\share\texmf-dist\doc\latex\

rmdir /s /q C:\cygwin\usr\share\texmf-dist\doc\

rmdir /s /q C:\cygwin\usr\share\texmf-dist\

rmdir /s /q C:\cygwin\usr\share\

rmdir /s /q C:\cygwin\usr\

rmdir /s /q C:\cygwin\

2
Я думаю, del *.*было бы достаточно aswer ...
Флориан Ледерманн

4

Самый простой способ сделать это - открыть окно командной строки Windows и использовать rdкоманду с /S /Qпараметрами. Возможно, вам придется открыть командную строку как администратор, чтобы это работало.

  1. Нажмите Start Button (Orb)и найдите ссылку, чтобы открыть командную строку. Если вы этого не видите, вам, возможно, придется искать его, набрав commandили cmd.exeв поле поиска внизу.
  2. Щелкните правой кнопкой мыши на ссылке commandили cmd.exeи выберите Run as administrator, затем нажмите, Yesесли будет предложено, чтобы разрешить его.
  3. В окне командной строки введите команду (пока не нажимайте Enterклавишу):
    rd /S /Q "C:\Cygwin"
  4. Эта команда удалит все файлы и папки внутри указанной папки без запроса, поэтому убедитесь, что вы дважды и трижды проверили, что вы указали правильную папку.
  5. Если вы хотите получить запрос на удаление файлов и подпапок, введите команду без /Qтак: rd /S "C:\Cygwin"
  6. Если вы уверены, что набрали команду правильно, нажмите Enterклавишу.

CygwinПапку и все файлы и вложенные папки в нем будут удалены.

Вот синтаксис для rdкоманды:

C: \> RD /?
Удаляет (удаляет) каталог.

RMDIR [/ S] [/ Q] [диск:] путь
RD [/ S] [/ Q] [диск:] путь

    / S Удаляет все каталоги и файлы в указанном каталоге
            в дополнение к самому каталогу. Используется для удаления каталога
            дерево.

    / Q Тихий режим, не спрашивайте, нормально ли удалить дерево каталогов с помощью / S


Если есть System,Hidden, или Read-onlyфайлы или папки , которые вызывают rdкоманду потерпеть неудачу, используйте attribкоманду с /S /Dопциями , как это:

attrib -S -H -R "C:\Cygwin\*.*" /S

чтобы удалить эти атрибуты из файлов и подпапок, затем повторите rdкоманду.


2

Вот короткий файл VBScript, чтобы сделать то, что вам нужно.

Set obj = CreateObject("Scripting.FileSystemObject")
obj.DeleteFile("C:\cygwin\usr\share\texmf-dist\doc\latex\hausarbeit-jura\README.")

Это должно обойти проблему, возникающую при использовании команды del и проводника Windows. Просто сохраните этот текст как what.vbs и дважды щелкните по нему.

Если файл помечен как доступный только для чтения, вам нужно немного добавить к этому коду, дайте мне знать.


6
Мне удалось удалить файл в cli с помощью DEL *. * (DEL README. Не будет работать). Однако папка все еще не может быть удалена. Ваш скрипт, с поправкой на папки, сделал свое дело. Ура!

1

То, как я это сделал, было довольно легко. У меня есть система двойной загрузки с Linux, поэтому я просто загрузился в Linux, перешел к файлу и удалил его. Я уверен, что вы могли бы сделать то же самое с живым CD.



0

У меня было изображение, которое не имеет расширения по имени cropped_image_new1597487825.

Просто откройте командную строку с повышенными правами,

Введите, dir /xчтобы получить 8.3 отформатированные имена файлов.

Удалите файл, используя 8,3 имени файла, например, ' del CROPPE~2'

Вот рабочий пример:

C:\Users\Acer\Desktop\proj_ci\uploads\profile_pic>del cropped_image_new1597487825.
Could Not Find C:\Users\Acer\Desktop\proj_ci\uploads\profile_pic\cropped_image_new1597487825.

C:\Users\Acer\Desktop\proj_ci\uploads\profile_pic>dir /x
 Volume in drive C is Windows 7
 Volume Serial Number is 6616-BD66

 Directory of C:\Users\Acer\Desktop\proj_ci\uploads\profile_pic

05-11-2018  12:09    <DIR>                       .
05-11-2018  12:09    <DIR>                       ..
05-11-2018  12:06                 0 CROPPE~2     cropped_image_new1597487825.
               1 File(s)              0 bytes
               2 Dir(s)   6,169,853,952 bytes free


C:\Users\Acer\Desktop\proj_ci\uploads\profile_pic>del CROPPE~2

C:\Users\Acer\Desktop\proj_ci\uploads\profile_pic>dir /x
 Volume in drive C is Windows 7
 Volume Serial Number is 6616-BD66

 Directory of C:\Users\Acer\Desktop\proj_ci\uploads\profile_pic

31-01-2019  14:58    <DIR>                       .
31-01-2019  14:58    <DIR>                       ..
               0 File(s)              0 bytes
               2 Dir(s)   6,169,702,400 bytes free

-2

Существует несколько способов решения этой проблемы, но самый простой - с помощью команды DEL, как упоминалось выше.

Тем не менее, важно отметить, что DEL сам по себе не будет работать, поскольку файлы в этом случае имеют тенденцию помечаться атрибутом System, поэтому вы должны ввести специальный параметр, чтобы они отобразились.

Чтобы увидеть их в приглашении CMD с помощью DIR, перейдите к соответствующей папке и введите следующую команду:

Dir /A

Это будет список всех файлов в этом каталоге, независимо от атрибута. Затем, чтобы удалить его, просто введите следующую команду, указав тот же параметр / A:

DEL *.* /A

Конечно, это удаляет все файлы в этом каталоге, поэтому, если вы хотите, чтобы другие файлы остались, вы должны сначала удалить их или создать резервную копию.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.