Właśnie zauważyłem, że nie można nazwać folderu ._.
- ._
zamiast tego zostaje nazwany . Czasami znika tuż po nadaniu mu nazwy, ale pojawia się ponownie po odświeżeniu widoku. Windows wydaje się mieć problem z kropkami na końcu nazwy pliku - dlaczego?
74
.
w systemie Windows.cd -- -_-
prawdopodobnie może działać.--
Jest częstym „koniec opcji” marker.--
w sobie oznacza „ to jest koniec opcji, traktuj wszystko zaczynając-
od literalnej wartości ”. Właśnie przetestowane:mkdir -- -_-
icd -- -_-
działa zgodnie z oczekiwaniami../-_-
powinien również działać.cd "-_-"
powłoka używa cudzysłowów do grupowania, ale nie traktuje ich jako części argumentu;invalid option
Odpowiedzi:
System Windows zwykle wymaga, aby pliki nie miały rozszerzenia ani rozszerzenia o długości co najmniej jednego znaku; nie jest fajnie z rozszerzeniami o zerowej długości, tj. nazwami plików, które kończą się na
.
. Foldery mogą mieć również rozszerzenia, dlatego system Windows nie pozwala, aby ich nazwy kończyły się na.
. Źródło, z artykułu, do którego link DavidPostill :(Podkreśl moje.) Jeśli spróbujesz zakończyć plik lub katalog o nazwie kropką, system Windows po prostu przyjmie, że nie chcesz rozszerzenia, i usuwa go, nawet jeśli utworzysz go
md
w wierszu polecenia.Strefa niebezpieczeństwa! Jeśli naprawdę chcesz, aby nazwa folderu się kończyła
.
, musisz użyć sekwencji zastępowania nazwy magicznej\\?\
. W wierszu poleceniamd \\?\C:\path\to\container\._.
rzeczywiście utworzy folder o nazwie._.
, ale wiele programów będzie miało z nim problemy, nawet Explorer:Taki katalog można usunąć tylko
rd
po nim wraz z jego\\?\
nazwą lub zmienić jego nazwę na krótką (8.3dir /x
).źródło
dir /x
sprawia, że jest dość łatwa, a czasami jest to przydatne.Windows wydaje się mieć problem z kropkami na końcu nazwy pliku? Dlaczego to?
Poniższy link źródłowy zawiera więcej szczegółów na temat zasad nazewnictwa.
Źródłowe pliki nazewnictwa, ścieżki i przestrzenie nazw
źródło
To nie jest błąd. Zostało zaprojektowane, aby zapobiec problemom ze zgodnością.
Jest to pozostałość po dawnych czasach DOS.
Systemy plików FAT12 (dyskietka) i FAT16 (FAT16 przed obsługą długich nazw plików wprowadzoną w Windows 95) miały tylko nazwy plików przechowywane w 11 bajtach:
8 bajtów dla nazwy, 3 dla rozszerzenia. „Okres” między nazwą a rozszerzeniem nie był nawet zapisywany. Zostało to dorozumiane i automatycznie dodane do celów wyświetlania.
Katalogi w ogóle nie miały rozszerzeń. Zamiast tego 3 bajty rozszerzenia zostały wypełnione znakami „$” (które były nielegalne w prawdziwych nazwach).
Ponieważ system Windows jest nadal zgodny z tym Eksploratorem, a wiele innych składników systemu Windows po cichu sprawia, że okres końcowy zanika, aby zapobiec problemom ze zgodnością.
Jak stwierdzili inni, możesz właściwie obsługiwać takie foldery, używając semantyki RAW (przedrostek \\? \ Przed bezwzględną nazwą ścieżki).
Za kulisami NTFS i sieciowe systemy plików nie mają problemu z takimi plikami i folderami. To tylko przypadek, gdy Explorer próbuje uniemożliwić użytkownikowi stworzenie czegoś, co może powodować problemy dla innego oprogramowania.
(W rzeczywistości istnieją również inne resztki:
nazwy plików, takie jak COM, COM1, COM2, AUX, PRN, LPT, LPT1, LPT2, LPT3, CON mogą powodować podobne problemy, w których Explorer i wiele innych części systemu Windows są pomieszane ponieważ te nazwy są nazwami „zastrzeżonymi”, które również pochodzą z epoki DOS).
źródło
mkdir testfile.name
) i wyświetl jego nazwę DOS w Windows (dir /x
) - otrzymaszTESTFI~1.NAM
, zgodnie z oczekiwaniami.Problem polega na tym, że Windows (DOS) zezwalał na nazwy plików 8.3 w systemach plików FAT. Znaczenie, 8 znaków, po których następuje. a następnie trzy znaki. Unix i Linux pozwalają na dowolny znak, z wyjątkiem / i \ 0. \ 0 jest zakończeniem łańcucha znaków C, a / to separator katalogu. Można użyć wszystkiego innego.
System Windows 95 rozwiązał ten problem, utrzymując bazę krótkich (8.3) nazw plików do metadanych o długich nazwach plików (LFN). Jeśli wyczyścisz pliki systemu operacyjnego Windows 95, na następnej instalacji systemu Windows 95 na dysku pozostaną nieparzyste pliki. Na przykład „Moje dokumenty” mogą nazywać się MYDOCU ~ 1 na dysku. Oczywiście, jeśli stracisz metadane, nie będziesz w stanie łatwo je przekonwertować.
Powłoka musi poradzić sobie z wieloma historycznymi przyrostami, które krążą od czasów MS-DOS.
Mam nadzieję że to pomoże
źródło