Mam okno systemu Windows XP (system plików NTFS), na którym znalazłem plik o nazwie NUL
. Nie udało mi się usunąć tego pliku w żaden zwykły sposób. Plik wydaje się być w posiadaniu Administrator
w SYSTEM
grupie, w przeciwieństwie do jakiegokolwiek innego pliku w tym samym katalogu (pozostałe pliki są własnością mojego identyfikatora użytkownika).
Jak pozbyć się tego pliku? Skąd się to wzięło?
windows
windows-xp
filesystems
ntfs
Greg Mattes
źródło
źródło
DELETE
polecenia za pomocą wiersza polecenia.aux.c
i podobne nazwy w kodzie źródłowym oprogramowania.) To wyłącznie API Win32 zarządza tymi „nazwami urządzeń”.Odpowiedzi:
Próbować
w wierszu polecenia.
Szczegółowe informacje można znaleźć w tym artykule pomocy technicznej Microsoft: Nie można usunąć pliku ani folderu z woluminu systemu plików NTFS pod „Przyczyną 5: Nazwa pliku zawiera zastrzeżoną nazwę w przestrzeni nazw Win32”.
źródło
.
w miejscu?
..
zamiast?
nie robi dokładnie tego samego - znak zapytania zapobiega dalszemu przetwarzaniu przez podsystem, podczas gdy kropka oznacza „obecną maszynę” ... nie całkiem to samo, chociaż zdecydowanie mylące. :)\\.\
Prefix jest dla przestrzeni nazw urządzeń , ale tam nie ma wyraźnej wzmianki, że.
ma takie samo znaczenie ( „X”) prąd jak to robi dla nazw katalogów.nul
plikiem można: część jest rozszerzona do katalogu roboczego i podwójne cudzysłowy ( ) zrobić to wszystko uchwyt ścieżek również z „dziwnych” symbolami, np .del "\\?\%CD%\nul"
%CD%
"
"\\?\C:\path,with\comma\nul"
Alternatywnie, jeśli masz zainstalowany Cygwin , możesz chcieć wiedzieć, że nie ma problemu z takimi plikami lub folderami. Szczególnie,
wpisany w terminalu Cygwin usuwa plik lub folder o nazwie
nul
lub folder zawierający go. Jest to również zastosowanie do innych nazw, takich jak specjalny plikCON
,PRN
,AUX
,COM1
,COM2
,COM3
,COM4
,COM5
,COM6
,COM7
,COM8
,COM9
,LPT1
,LPT2
,LPT3
,LPT4
,LPT5
,LPT6
,LPT7
,LPT8
.źródło
rm
polecenie GNU, więc nie potrzebujesz cygwina. Zakładając, że dodasz katalog bin narzędzi GNU do PATH, możesz użyć wszystkich gadżetów GNU z cmd.Dodam to tutaj, ponieważ jest wysoko w wynikach Google i miałem podobny problem z folderem o nazwie NUL. Niestety powyższe poprawki nie pomogły. Nie oglądałem też wielu innych rzeczy.
Próbowałem
rmdir\\?\C:\My\Path\NUL
irmdir\\.\C:\My\Path\NUL
bez powodzenia, a także wypróbowałem kilka poleceń za pomocą bash z mojej instalacji SourceTree. Brak przyjemności.Na koniec użyłem
DIR /X /A
z cmd do wyświetlenia krótkich nazw w katalogu nadrzędnym. To zwróciłoNUL~1
dla mojego folderu NUL.Zostało to następnie użyte w standardowym poleceniu
rmdir /s NUL~1
i ostatecznie rozwiązało problem.źródło
Jeśli masz zainstalowany Git dla Windows, wykonaj następujące czynności
Git Bash Here
rm nul.json
w wierszu polecenia i naciśnij klawisz ENTER, plik powinien zostać teraz usunięty.UWAGA: Te zrzuty ekranu pokazują usunięcie pliku,
nul.topo.json
który jest innym plikiem, którego nie mogłem usunąć zwykłym usunięciem.źródło