Explorer wyświetla pusty folder, ale nie potrafi go otworzyć.
Próba zmiany nazwy wyświetla że folder nie istnieje
a próba wykasowania kropek na końcu wyświetla że albo nie może zmienić rozszerzenia, albo nie istnieje taki plik.
Sam Explorer nie wie czy to jest plik czy folder.
Próba usunięcia lub zmiany nazwy w Unlocker i ioBit Unlocker kończy się „nie mogę” , a nazwa folderu jest odczytywana jako _DATA (bez kropek).
Dzięki wielkie.
Użycie skróconej nazwy _DATA~1 pomogło.
Chociaż Windows wyświetlał, że folder jest pusty, nie był pusty. Były w nim dwa podfoldery i kilka plików.
czyli
Trafiłem na ekspertów, to może wyjaśnię, skąd ten błąd i zapytam dalej.
Czy muszę zakładać nowy temat?
Próbuję przerobić grę, aby przy pierwszym uruchomieniu tworzyła folder danych nie w dokumentach, tylko lokalnie, tam gdzie jest zainstalowana.
Wtedy będę miał dostęp do tych plików z menu gry.
Znalazłem w . exe ścieżkę i nazwę folderu, ale nawet jeśli zamienię ją na
..\Userdata
to folder danych jest tworzony powyżej folderu dokumenty, ale dalej to jest relatywny link, zależny od lokalizacji dokumentów.
Zmienna systemowa %__CD__% nie daje nic, jest interpretowana jako zwykły tekst i tworzony jest folder o nazwie
%__CD__%
w dokumentach.
Wcześniej plik exe musi pobierać lokalizację dokumentów, i zmieniać CD na dokumenty, a ja muszę to zamienić na „tutaj”, na
.
dlatego że sama gra może znajdować się w dowolnym miejscu.
Czego powinienem szukać w kodzie, jakiej sekwencji, aby znaleźć moment pobierania lokalizacji dokumentów?
Modyfikowanie exe może przynieść nieoczekiwane rezultaty. W tym przypadku użyłbym junction - dowiązanie do folderu
Po utworzeniu folderu przez grę w dokumentach, wyłączasz grę, przenosisz folder tam gdzie chcesz a w dokumentach tworzysz junction o takiej samej nazwie.
To rozwiązanie bardzo pośrednie, dalej zależne od lokalizacji dokumentów i dodatkowo wymaga kolejnego składnika, który może przestać działać, zostać wyłączony przez system…
Przy modyfikacji exe najważniejsze jest zachować tą samą ilość bajtów i nie zmieniać rzeczy których nie rozumiemy.
Czyli w moim przykładzie, podmieniam tylko dane tekstowe.
Na pewno w którymś miejscu jest instrukcja pobierania adresu (tego nie zobaczymy bez debuggera, ale tak daleko nie wchodzę),
a po niej powinna być jakaś systemowa nazwa, lokalizacja folderu dokumentów.
i tego właśnie szukam.
Ten adres może być podany jako domyślny np.
C:\users\user\
i po nim systemowa nazwa folderu dokumenty.
Jak może być ona zapisana?
Dziękuję za pomoc i dodatkowo podam jedną metodę, wymaga ona jednak programu Bulk Rename Utility.
Zaznaczamy w okienku kłopotliwy folder
i tu jest kilka sposobów
Remove - w polu Chars wpisujemy kropkę i usunie wszystkie kropki w nazwą zaznaczonych folderów i plików
Replace - w polu From wpisujemy kropkę, pole To zostawiamy puste, lub wpisujemy na co kropka ma być zamieniona (na przykład na _)
Możemy użyć Name - Remove, usunie to całą nazwę, a w polu Add wpisujemy nową nazwę.
W polu Remove zaznaczamy Sym. - usunie to z nazwy wszystkie symbole (nie litery i nie cyfry).
Ważne: w oknie Filters ma być zaznaczone tylko Folders, a pozostałe opcje wyłączone, szczególnie Subfolders - wtedy by zmienił nazwy wszystkich podfolderów poniżej zaznaczonego.
Dzięki wielkie! Kilka dni temu jeden z pracowników przesłał mi pocztą plik, którego po zapisaniu nie mogłem w żaden sposób skasować. Oczywiście nazwa pliku była w ciul długa, a na końcu standardowo kropeczka. Żadne unlockery, czy próby usunięcia pliku przez wiersz poleceń oraz PowerShella nie zadziałały. Usunięcie pliku z poziomu jakiegoś LiveCD np. Linuxa w moim przypadku odpadało, bo plik nie był widoczny bezpośrednio na filesystemie komputera, katalog synchronizuje się z serwerem poprzez Centrum Synchronizacji. Okazało się, że problemem w tym przypadku jest ścieżka.
Pomogło wywołanie komendy:
del "\\?\C:\KATALOG\PLIK"
W moim przypadku musiałem ją jednak wykonać na serwerze ale grunt, że pomogło. Jeszcze raz dzięki, bo szału z tym dostawałem.