Jak naprawić problem „Nazwa pliku jest zbyt długa” w systemie Windows

Jeśli kiedykolwiek widziałeś ten problem, prawdopodobnie była to dla Ciebie prosta poprawka. Jeśli widziałeś ten błąd więcej niż dwa razy, wiesz również, że czasami może to być złożony problem do naprawienia.

Miejmy nadzieję, że natkniesz się tylko na wersję z łatwymi poprawkami, ale przygotujemy Cię również na mniej łatwe, gwarantowane skuteczne poprawki.

Dlaczego długość nazwy pliku jest nawet problemem w systemie Windows?(Why Is Filename Length Even An Issue In Windows?)

Istnieje długa historia długości nazw plików, która stanowi problem dla systemów operacyjnych, takich jak Windows . Był czas, kiedy nie można było mieć nazw plików dłuższych niż 8 znaków plus 3-znakowe rozszerzenie pliku. Najlepsze, co mogłeś zrobić, to coś takiego jak myresume.doc . Było to ograniczenie wynikające z projektu systemu plików.

Sprawy się poprawiły, gdy pojawiły się nowe wersje systemu Windows . Przeszliśmy od starego, ograniczonego systemu plików do czegoś, co nazywa się New Technology File System ( NTFS ). NTFS zaprowadził nas do punktu, w którym nazwa pliku mogła mieć długość 255 znaków, a długość ścieżki do pliku mogła potencjalnie wzrosnąć do 32 767 znaków. Jak więc możemy mieć zbyt długie nazwy plików?

Windows ma elementy znane jako zmienne systemowe. Są to zmienne, na których opiera się system Windows , ponieważ (Windows)system Windows(Windows) zawsze będzie wiedział, co oznaczają zmienne i gdzie się znajdują, nawet gdy przenosimy bity i bajty w różne miejsca. Zmienna systemowa MAX_PATH to ta, która ogranicza nazwy plików i ścieżki plików do mniej niż 260 znaków.

Będąc zmienną, można by pomyśleć, że możemy to zmienić. Nie, nie powinniśmy. To byłoby jak wyciąganie nitki ze swetra. Gdy tylko jedna zmienna systemowa się zmieni, inne zmienne systemowe i zależne od nich komponenty zaczynają się rozwijać.

Jak więc to naprawić?

Łatwa naprawa(The Easy Fix)

Jeśli masz szczęście, otrzymasz błąd i dokładnie wiesz, jaka nazwa pliku powoduje problem. A przynajmniej gdzie znaleźć plik. Może masz nazwę pliku, która wygląda mniej więcej tak:

C:\User\guymc\Documents\My Resumesresumewithanamesolongthatitcausesproblemsandbecomespartofsomeguysarticleonthewebhowdoyoulikemenow.docx

Wiadomo, kto w tym przypadku jest sprawcą. Znajdź plik w Eksploratorze Windows(Windows Explorer) lub Eksploratorze plików(File Explorer) , jak to się nazywa w systemie Windows 10(Windows 10) , kliknij go raz, naciśnij F2 , aby zmienić jego nazwę, i zmień tę głupią nazwę pliku na coś bardziej rozsądnego. Problem rozwiązany.

Mniej łatwe poprawki(The Less Easy Fixes)

Nie zawsze łatwo jest rozwiązać ten problem. Czasami możesz nie być w stanie zmienić nazw plików lub katalogów z jakiegokolwiek powodu.

Poniższe rozwiązania załatwią Ci sprawę. Nie są trudne do zrobienia.

Przenieś(Move) , usuń(Delete) lub skopiuj pliki lub katalogi za pomocą PowerShell(Or Copy Files Or Directories Using PowerShell)

Czasami pojawia się błąd podczas próby przeniesienia, usunięcia lub skopiowania katalogów, w których liczba znaków w ścieżce pliku jest większa niż 260.

Zauważ, że słowa katalog i folder są wymienne. W przyszłości będziemy używać „katalogu”. Następujące polecenia cmdlet programu PowerShell mogą być również używane w plikach.

Być może ścieżka pliku wygląda mniej więcej tak:

C:\Users\guymc\Documents\This\Is\Exactly\The\Precise\Directory\Path\That\I\Need\To\Have\To\Keep\My\Files\Sorted\In\A\Manner\That\Makes\Sense\To\Me\So\Lets\Pretend\This\Is\An\Actual\Filepath\That\You\Might\Also\Have\On\Your\Windows\Computer\And\Not\Over\Think\It\Document.docx

Ta ścieżka pliku ma 280 znaków. Nie możemy więc skopiować katalogu z tego miejsca do innego miejsca za pomocą normalnej metody kopiuj-wklej. Otrzymujemy błąd Zbyt długa ścieżka docelowa(Destination Path Too Long) .

Załóżmy, że z jakiegoś powodu nie możemy zmienić nazw katalogów, w których plik jest zagnieżdżony. Co robimy?

Otwórz PowerShell(Open PowerShell) . Jeśli jeszcze nie korzystałeś z PowerShell , zapoznaj się z naszym artykułem Korzystanie z PowerShell dla użytkowników domowych — przewodnik dla początkujących(Using PowerShell for Home Users – A Beginner’s Guide) . Możesz jednak wykonać kolejne kroki bez czytania artykułu.

Po otwarciu PowerShell znajdziesz się w katalogu głównym swojego katalogu użytkownika. Postępuj zgodnie(Follow) z instrukcjami, zakładając , że C:\Users\guymc jest twoim katalogiem użytkownika.

Katalog o nazwie This znajduje się w katalogu Dokumenty(Documents) . Aby przejść do katalogu Documents , używamy polecenia DOS cd Documents

Zobaczysz monit o zmianę na C:\Users\guymc\Documents . To dobrze. Pracujemy bliżej katalogów, co ułatwi sprawę.

Kopiuj katalog za pomocą elementu kopiowania

Chcemy skopiować katalog This i jego zawartość do ThatNewFolder . Użyjmy polecenia PowerShell Copy-Item z parametrami -Destination i -Recurse .

-Destination mówi PowerShellowi(PowerShell) , gdzie ma być kopia. -Recurse mówi PowerShellowi(PowerShell) , aby skopiował wszystkie elementy wewnątrz do miejsca docelowego. Kopiowanie pozostawia oryginały w miejscu, a wszystkie nowe w miejscu docelowym.

Copy-Item This -Destination ThatNewFolder -Recurse

Przenieś katalog za pomocą Przenieś-element

Powiedzmy, że chcemy przenieść katalog This i wszystkie znajdujące się w nim katalogi i pliki do ThatNewFolder . Przenoszenie nie pozostawia oryginału na miejscu.

Możemy użyć polecenia cmdlet Move-Item PowerShell z parametrami -Path i -Destination . -Path definiuje element, który chcemy przenieść, a -Destination mówi PowerShellowi(PowerShell) , gdzie go chcemy. 

Polecenie cmdlet umieści This wewnątrz obiektu ThatNewFolder . Przeniesie również wszystko, co znajduje się w katalogu This. Move-Item może być używany do przenoszenia plików lub katalogów i działa niezależnie od ścieżki pliku lub długości nazwy pliku.

Move-Item -Path This -Destination ThatNewFolder

Aby upewnić się, że zadziałało, użyj polecenia cd ThatNewFolder , aby dostać się do ThatNewFolder . Następnie użyj polecenia dir , aby wyświetlić listę katalogów w ThatNewFolder . Zobaczysz tam ten katalog.

Usuń katalog za pomocą elementu Usuń

Jeśli chcemy usunąć katalog This i wszystko, co się w nim znajduje, używamy polecenia cmdlet Remove-Item .

Polecenie cmdlet Remove-Item ma wbudowane zabezpieczenia, które utrudniają usunięcie katalogu zawierającego elementy. W naszym przykładzie wiemy, że chcemy usunąć wszystko, więc użyjemy parametrów -Recurse , aby usunąć wszystko w środku i -Force , aby zrobić to bez pytania, czy jesteśmy pewni co do każdego elementu w środku.

Być ostrzeżonym! Odzyskiwanie czegokolwiek usuniętego w ten sposób byłoby niezwykle trudne. Możesz wypróbować metody opisane w artykule Jak odzyskać przypadkowo usunięte pliki , ale nie oczekuj zbyt wiele.

Remove-Item This -Recurse -Force

Możesz ponownie użyć polecenia dir, aby upewnić się, że zniknęło.

Spraw, aby system Windows 10 akceptował długie ścieżki plików(Make Windows 10 Accept Long File Paths)

Jeśli wiesz, że będziesz wielokrotnie używać długich ścieżek do plików i długich nazw plików, łatwiej jest sprawić, by system Windows(Windows) działał dla Ciebie. Nie ma sensu używać PowerShell do codziennej pracy.

Możemy to zrobić na dwa sposoby. Jeden jest przeznaczony dla użytkowników systemu Windows 10 (Windows 10) Home , a drugi dla użytkowników systemu Windows 10 (Windows 10) Pro lub Enterprise . Te metody mogą działać w systemie Windows 8.1(Windows 8.1) lub starszym, ale nie możemy tego zagwarantować.

Spraw(Make) , aby system Windows 10 Home akceptował długie ścieżki plików(Home Accept Long File Paths)

Aby system Windows 10 (Windows 10) Home akceptował długie ścieżki plików, musimy otworzyć Edytor rejestru(Registry Editor) . Jeśli nie pracowałeś wcześniej w Edytorze rejestru(Registry Editor) , zachowaj ostrożność. Przypadkowe usunięcie lub zmiana rzeczy w tym miejscu może całkowicie uniemożliwić działanie systemu Windows(Windows) .

Zawsze wykonaj kopię zapasową rejestru przed wprowadzeniem jakichkolwiek zmian. Dowiedz się wszystkiego, co musisz na ten temat wiedzieć, z naszego Kompletnego przewodnika po tworzeniu kopii zapasowych i przywracaniu rejestru systemu Windows( Ultimate Guide to Backing Up and Restoring the Windows Registry) .

Po otwarciu Edytora(Editor) rejestru i utworzeniu kopii zapasowej przejdź do lokalizacji HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem i znajdź klucz LongPathsEnabled .

Kliknij dwukrotnie LongPathsEnabled . W polu Dane wartości:(Value data:) upewnij się, że jest tam cyfra 1 . Kliknij OK , aby zatwierdzić zmianę.

Wyjdź z Edytora rejestru(Registry Editor) i powinieneś być teraz w stanie pracować z szalonymi długimi ścieżkami plików.

Spraw(Make) , aby system Windows 10 Pro lub Enterprise akceptował długie ścieżki plików(Pro Or Enterprise Accept Long File Paths)

Aby umożliwić systemowi Windows 10 Pro lub Enterprise korzystanie z długich ścieżek plików, użyjemy Edytora zasad grupy(Group Policy Editor) . Jest to narzędzie, które pozwala nam ustalać zasady działania systemu Windows na poziomie komputera i użytkownika.

Mamy kilka artykułów na temat korzystania z zasad grupy do wykonywania czynności, takich jak wyłączanie lub włączanie opcji Internet Explorera( disabling or enabling Internet Explorer options) lub dodawanie wiadomości do ekranu logowania( adding a message to the logon screen) .

Otwórz Edytor zasad grupy(Group Policy Editor) , przechodząc do menu Start i wpisując gpedit . Najwyższym wynikiem powinno być Edytuj zasady grupy(Edit group policy) . Kliknij to dwukrotnie.

Po otwarciu Edytora zasad grupy przejdź do (Group Policy Editor)Computer Configuration > Administrative Templates > System > Filesystem . Zobaczysz tam zasadę Włącz długie ścieżki Win32(Enable Win32 long paths) .

Kliknij go dwukrotnie, aby edytować ustawienie zasad. Zmień go z Disabled na Enabled , a następnie kliknij przycisk OK , aby zatwierdzić zmianę. 

Polityka może nie zacząć obowiązywać od razu. Możesz jednak wymusić aktualizację zasad grupy( force the group policy to update) .

Otóż ​​to(That’s It)

Istnieje kilka innych sposobów obejścia długich nazw plików i ścieżek plików, ale to, przez co przeszliśmy, to najprostsze i najskuteczniejsze metody.



About the author

inżynier audiofilski i specjalista ds. produktów audio z ponad 10-letnim doświadczeniem. Specjalizuję się w tworzeniu wysokiej jakości głośników muzycznych i słuchawek od początku do końca. Jestem ekspertem w rozwiązywaniu problemów z dźwiękiem oraz projektowaniu nowych głośników i systemów słuchawkowych. Moje doświadczenie wykracza poza samo tworzenie dobrych produktów; Mam również pasję pomagania innym w byciu jak najlepszymi, czy to poprzez edukację, czy pracę społeczną.



Related posts