Jak usunąć (nieprawidłowe) pliki z dwukropkiem w nazwie w systemie Windows?

14

Mam dość dużą liczbę plików na dysku Windows, które mają dwukropek w nazwie. (Pochodziły one z rozpakowywania niektórych archiwów Uniksa.)

Gdy próbuję je usunąć, system Windows (XP) skarży się, że plik nie istnieje, i odmawia usunięcia. Dzieje się tak, gdy próbujesz usunąć lub zmienić jego nazwę z Eksploratora lub wiersza poleceń. Mimo chkdskto nie narzeka na te pliki ani nie rozwiązuje problemu.

Wszelkie pomysły, jak się ich pozbyć?

Hans-Peter Störr
źródło
Czy pozwoli ci to zmienić ich nazwy lub przenieść je w inne miejsce? Jeśli możesz je przenieść, spróbuj umieścić je wszystkie w jednym katalogu, a następnie usuń ten katalog.
nhinkle
Technicznie są poprawne, to Windows Explorer jest nieprawidłowy ^ W menedżer plików specjalnych potrzeb.
Alexei Averchenko

Odpowiedzi:

7

Możesz być w stanie użyć tej składni ( na Microsoft KB 320081 ):

del "\\?\c:\path_to_file\bad:name.ext"

Zobacz także pytanie o awarię serwera na ten sam temat: „usuń plik zawierający nieprawidłowe znaki w systemie Windows”.

Myślę, że stare narzędzia sysinternals "ntfsdos" również mogłyby usunąć / zmienić nazwy tych plików, ale nie są one już dostępne po akwizycji po MS.

Michael
źródło
@ Hello71 (do @Ruggle Humsteader) - nowi użytkownicy nie mogą komentować, mogą tylko odpowiedzieć (obecnie potrzebują 50 punktów rep: superuser.com/faq ). Mogą jednak komentować własne pytania i odpowiedzi. (Tylko dlatego, że twoja prośba nie myli innych nowych użytkowników).
michael
Jak zrobiłbyś taki plik z systemu Windows?
cutrightjm
@ekaj - plik można utworzyć przy użyciu innego systemu operacyjnego. Utwórz zrzut ekranu w Ubuntu, w nazwie pliku ma dwukropki. Następnie otwórz go w systemie Windows - to nie zadziała.
SPRBRN
@rxt Jestem świadomy. Chodzi mi o to, że jeśli możesz to usunąć, prawdopodobnie możesz to zrobić w jakiś sposób.
cutrightjm
3
nie działa dla mnie w Windows 7
Populus
8

Możesz spróbować uruchomić komputer z Live CD Ubuntu i usunąć go z tego miejsca.

Tofystedeth
źródło
Wczoraj zapisałem zrzut ekranu w Ubuntu, a następnie próbowałem go otworzyć na maszynie wirtualnej z systemem Windows. Odmówił otwarcia, zły typ pliku lub coś takiego. Potem zdałem sobie sprawę, że może to być dwukropek w nazwie pliku, którego nie mogłem usunąć w systemie Windows. Zmieniam nazwę w Nautilusie, a potem mogę otworzyć plik.
SPRBRN
5

Zamknij wszystkie pliki, jeśli są otwarte, zapisane na dysku zawierającym takie pliki. Teraz otwórz właściwości dysku.

„Mój komputer” -> „Kliknij prawym przyciskiem myszy na tym dysku”> właściwości

Następnie przejdź do karty „ Narzędzia ” i kliknij „ Sprawdź teraz ” pod etykietą „Błąd sprawdzania”.

[Kliknij tutaj, aby zobaczyć obrazek] ()

Spowoduje to odmontowanie dysku i przeskanowanie całego dysku w poszukiwaniu błędów, ostatecznie usunie takie pliki o nielegalnych nazwach. Po zakończeniu wyświetli się komunikat, że niektóre pliki zostały naprawione.

Pomyślnie usunąłem takie pliki z zewnętrznego dysku twardego.

Atul Vaibhav
źródło
Chciałbym, żeby pokazała ci listę tego, co zamierza naprawić, ale działało to dla mnie w systemie Windows 8.1.
ToastyMallows
pierwsza rzecz, która mi pomogła po około 20 próbach. Używa narzędzia chkdsk, które naprawia wiele rzeczy.
oshell
1

Możesz to łatwo zrobić w wierszu poleceń (CMD) bez żadnych wymyślnych programów.

  1. Zmień nazwę pliku / folderu, używając starej krótkiej notacji (np. Dla Nazwa pliku, FILENA ~ 1) i. Aby uzyskać notację, przejdź do katalogu zawierającego folder / plik o niepoprawnej nazwie i wpisz:

    reż / x

  2. Zmień nazwę na prawidłową nazwę, używając:

    ren FILENA ~ 1 nazwa pliku

  3. Teraz usuń prawidłowy plik / folder w CMD lub w Eksploratorze Windows:

    del nazwa_pliku

ricardo3889
źródło
0

Aby to naprawić w systemie Windows 7:

chkdsk C:/r
tpbapp
źródło
0

Jeśli wszystko inne zawiedzie, konieczna może być edycja nazwy bezpośrednio w systemie plików NTFS.

Udało mi się to z Active @ Disk Editor . Postępuj ostrożnie.

  • otwórz program
  • wybierz Eksploruj mój komputer
  • znajdź swój plik
  • wybierz polecenie Sprawdź rekord pliku na pasku przycisków lub w menu kontekstowym
  • włącz opcję Zezwalaj na edycję treści w menu rozwijanym Edycja lub w menu kontekstowym
  • znajdź nazwę w kolumnie Unicode i kliknij ją, zastąp złe symbole dobrym, takim jak znak lub myślnik. Pamiętaj, co i jak zmieniłeś nazwę, będziesz go potrzebować w następnym kroku.
  • Wróć do zakładki Mój komputer
  • wybierz katalog nadrzędny pliku w widoku drzewa
  • wybierz polecenie Sprawdź rekord pliku na pasku przycisków lub w menu kontekstowym
  • w widoku drzewa po lewej znajdź Atrybut $ A0 (pogrubiony), otwórz go, znajdź $ INDEX_ALLOCATION, Uruchomienie danych, Pierwszy klaster, kliknij wartość, powinna być interaktywna.
  • znajdź nazwę i edytuj ją w taki sam sposób, jak w poprzednim kroku. Może być konieczne przewinięcie w dół, aby je znaleźć, jeśli w katalogu jest wiele plików.
  • jeśli masz pewność, że nie zastąpiłeś przypadkowo żadnych innych danych, kliknij Zapisz. W przeciwnym razie zamknij kartę bez zapisywania zmian i ostrożnie zrób wszystko ponownie.
  • restart.

Jeśli plik lub katalog jest nadal niedostępny, spróbuj chkdskteraz.

użytkownik
źródło
-2

Inną alternatywą, którą możesz wypróbować, jest wprowadzenie CygWin , powłoki bash dla Windows. Umożliwiłoby to zastosowanie poleceń UNIX do folderów DOS.

Dave
źródło
1
Jeśli regularnie masz do czynienia z plikami uniksowymi na komputerze z systemem Windows, zawsze warto zainstalować cygwin. W przeciwnym razie lepiej będzie uruchomić i usunąć plik z Live CD z Linuksem, gdy pojawi się sytuacja.
Marnix A. van Ammers
5
Niestety próbowałem cygwina i to nie pomaga. 8- {Nawet cygwin nie jest w stanie usunąć plików.
Hans-Peter Störr,
6
narzędzia cygwin nadal polegają na Windows API do usuwania plików. Jeśli interfejs API systemu Windows odrzuci nazwę pliku, nic nie można zrobić w systemie Windows za pomocą standardowych narzędzi do plików. Polecam również dostęp do systemu plików z alternatywnego systemu operacyjnego.
dolmen
Właśnie próbowałem uzyskać dostęp do pliku z dwukropkami na dysku ext3 z Cygwin i nawet to nie działa.
laurent