Na dysku sieciowym jest kilka plików na dość głębokiej ścieżce, a katalogi w większości mają długie nazwy. Myślę, że zostały one pierwotnie utworzone, gdy ktoś skopiował i wkleił katalog główny dla tej grupy plików ze swojej lokalnej stacji roboczej na udostępniony dysk sieciowy. Wyobrażam sobie, że na lokalnej stacji roboczej nie było problemu z otwarciem pliku, ale teraz, gdy znajdują się na dłuższej ścieżce w sieci, system Windows nie może ich otworzyć po dwukrotnym kliknięciu. Próbowałem również skopiować pliki i zmienić ich nazwę na nieco krótszą, ale Windows nie jest w stanie tego zrobić.
TL; DR
pliki ze czyjejś stacji roboczej na (hipotetycznej) ścieżce takiej jak ta:
C:\Documents and Settings\SomeUser\Files\RootOfLongFileNames\LongSubdirectoryName1\...\VeryLongAndDescriptiveAndSpecificFilename.xls
-----------------------------------------^
zostały teraz skopiowane i wklejone do sieci w następujący sposób:
Q:\Dir1\Dir2\ProjectA\FilesForSomething\SomeotherDirectory\Blahblah\RootOfLongFileNames\LongSubdirectoryName1\...\VeryLongAndDescriptiveAndSpecificFilename.xls
---------------------------------------------------------------------^
Ścieżka jest teraz zbyt długa, aby poradzić sobie z nią.
Wszelkie wskazówki, jak mogę odczytać te pliki?
źródło
Odpowiedzi:
Spróbuj zastąpić ścieżkę SUBST.EXE. Pochodzi z systemem Windows:
To, co chcesz zrobić, to zastąpić jeden z folderów w łańcuchu literą dysku:
Teraz folder LongSubdirectoryName1 jest dostępny na dysku X:. Po zakończeniu możesz usunąć swoje zastąpienie za pomocą
subst X: /D
Jeśli potrzebujesz tego cały czas, dodaj go do skryptu logowania.
Innym podejściem byłoby zmapowanie dysku w dalszej części łańcucha, skądkolwiek jest mapowane Q:
źródło
Musisz zmienić nazwy katalogów na ścieżce, dopóki nazwa nie będzie wystarczająco krótka, aby system operacyjny mógł uzyskać do niej dostęp.
Przejdź do pierwszego folderu, którego nazwę możesz zmodyfikować i zmień nazwę na jedną literę, a następnie wykonaj to samo dla każdego kolejnego folderu, aż dojdziesz do niezbędnego pliku.
Jeśli chodzi o konieczność zachowania struktury: istnieją ograniczenia, w których musimy pracować w systemach operacyjnych, i rutynowe działanie poza tymi parametrami nie jest dobre. Każde szybkie rozwiązanie będzie teraz łatką, którą trzeba będzie ponownie uruchomić w przyszłości. Prawdziwe rozwiązanie będzie polegało na reorganizacji struktury katalogów w taki sposób, że ten wyjątkowo długi problem ze ścieżką / nazwą pliku nie jest już potrzebny.
źródło
Poprzedź ścieżkę za pomocą
\\?\
. Pamiętaj, że nie działa to z wszystkimi aplikacjami.źródło
EDYCJA: Początkowo sugerowałem użycie robocopy, ale oczywiście jest to XP i nie ma go wstępnie zainstalowanego.
W żaden sposób nie będziesz w stanie „dać każdemu tego, czego chce”. Jeśli ścieżka pliku jest za długa, nie będziesz w stanie wykonywać na niej żadnych operacji na plikach. Widzę to, masz kilka opcji:
Postępuj zgodnie z instrukcjami innych postów i zmieniaj nazwy katalogów, aż będą krótkie. Zaletą komputerów jest to, że możesz napisać skrypt, który nie tylko zrobi to za Ciebie, ale także będzie śledzić oryginalne nazwy. Nawet w przypadku skryptu jest to trochę czasochłonne.
Zdobądź Linux LiveCD. Włóż go do komputera i uruchom z tego dysku CD. Przejdź do dysku Windows, który zostanie automatycznie zamontowany jako osobny system plików. Pobierz wszystkie potrzebne pliki i umieść je w nowym folderze na pulpicie. Spakuj ten folder i umieść go na zewnętrznym dysku twardym lub pamięci USB lub jeśli dysk sieciowy umożliwia kopiowanie z powrotem do systemu plików, przenieś go do katalogu najwyższego poziomu.
źródło