Jak zmusić system Windows do zmiany nazwy pliku ze znakiem specjalnym?

86

Mam utwór, którego system Windows nie może odtworzyć, ponieważ w nazwie pliku znajduje się znak zapytania.

"Where Have All the Cowboys Gone?.ogg" // as an example

Próbuję więc zmienić nazwę i Windows narzeka, czy wypróbuję to w Eksploratorze, czy z wiersza poleceń.

Wystąpił błąd podczas próby skopiowania, zmiany nazwy lub przeniesienia:

Nazwa pliku, nazwa katalogu lub składnia etykiety woluminu jest niepoprawna

Czy istnieje sposób wymuszenia zmiany nazwy w tym przypadku w systemie Windows ?

Aktualizacja

Będę miał oko na to pytanie, ale po 13 odpowiedziach i wielu próbach (poza rozwiązaniami innych firm) wydaje się, że Windows nie może tego zrobić (a przynajmniej moje okna nie, żadnych krótkich nazw). Tak więc akceptuję odpowiedź, która była moim pierwotnym rozwiązaniem przy użyciu Linuksa. Byłoby miło, gdyby Windows jakoś sobie z tym poradził, więc nie przestawaj tylko dlatego, że zaakceptowałem tę odpowiedź, pytanie wciąż pozostaje!

codeLes
źródło
5
Czy mogę zapytać, jak osiągnąłeś ten stan? Windows ogólnie nie pozwala ci tego zrobić.
Michael Kohne,
a odpowiedź brzmi: mam plik z Linux-a. jest to również plik .ogg. ale zastanawiałem się, skoro jestem w pracy i nie mam swojego linuxa, jak to zrobić w
systemie
6
System plików NTFS dopuszcza niektóre znaki, których Windows nie obsługuje. Jeśli system Windows spełnia takie pliki, uruchamia się.
Pułkownik Panic
1
Kiedyś miałem awarię dysku flash, chkdsk przeniósł pliki do innego sektora, ale zachował uszkodzone nazwy, które zawierały zabawne postacie, takie jak CRLF lub nawet backspace. :)
Nulano,
1
@IvanChau: Nie duplikat. To drugie pytanie dotyczy spacji w nazwie, która jest w rzeczywistości kawałkiem ciasta, w przeciwieństwie do tego tutaj (z symbolem wieloznacznym).
Sz.

Odpowiedzi:

42

Weź Linux-CD na żywo i użyj go.

łosoś łososiowy
źródło
Z domu i tak używam linux ... a plik znajduje się na przenośnym dysku twardym, po prostu zastanawiałem się, czy system Windows może to obsłużyć ... coś w rodzaju polecenia <b> Sudo </b> systemu Windows lub coś takiego
codeLes
Jest to problem ze znakiem zastępczym, a nie kwestia uprawnień. W Linuksie prawie wszystko jest prawidłowym znakiem w nazwie pliku (w tym łamaniem linii) w systemie Windows, istnieje zestaw znaków zastrzeżonych i nie ma skutecznego sposobu na ich ucieczkę.
łosoś łososiowy
3
ostatnie dystrybucje linuksowe, takie jak ubuntu, z powodzeniem obsługują najważniejsze funkcje NTFS.
Atmocreations,
1
Ubuntu 9.04 jest absolutnie bezbłędny w obsłudze NTFS, z jedną lub dwiema niedogodnościami (np. Jeśli nastąpi przerwa w zasilaniu i uruchomisz system Ubuntu, aby zaoszczędzić kilka sekund czasu uruchamiania, nie możesz uzyskać dostępu do partycji Windows, dopóki nie wrócisz do niej)
Phoshi
1
@Pacerier teoretycznie możesz, ale oznaczałoby to, że montujesz dysk w wielu systemach operacyjnych jednocześnie, co jest ogólnie złym pomysłem. Zamknij i uruchom komputer w nowym systemie operacyjnym.
łosoś łososiowy
29

Czy próbowałeś użyć krótkiej wersji nazwy pliku? Na przykład

ren whereh~1.ogg where.ogg

Jeśli jest to jedyny plik w bieżącym folderze, który zaczyna się od kilku pierwszych liter, użyj pierwszych 6 liter nazwy (ignorując spacje), a następnie tyldy (~), a następnie 1.

rev GAThrawn
źródło
12
Ponieważ generowanie krótkich nazw jest opcjonalne w zależności od konfiguracji Windows, Murphy mówi, że OP ma wyłączone krótkie nazwy i plik nie będzie miał. Aby poznać krótką nazwę, jeśli jest obecna dla dowolnego pliku, użyj DIR / X, która doda kolumnę pokazującą krótką nazwę dla każdego pliku, w którym różni się od długiej nazwy, jeśli w ogóle ją posiada. Jeśli istnieje krótka nazwa, byłaby to wiarygodna odpowiedź.
RBerteig
Naprawdę powinieneś spróbować ... Krótkie nazwy plików mogą czasem być przydatne.
alex
4
żadnych krótkich nazw, wypróbowałem twój przykład, a także katalog / x dowodzi, że nie ma ich na liście.
codeLes
24
  1. W systemie Windows 7: uruchom polecenie cmd.exe w trybie administratora.
  2. cd do katalogu z nazwami plików.
  3. run: chkdsk / V / f [Moje złe pliki znajdowały się na innym dysku niż dysk systemu operacyjnego, więc mogłem je odinstalować. Jeśli jest to dysk systemu operacyjnego, może być konieczne wykonanie tego etapu podczas uruchamiania.]
  4. Poczekaj (może być konieczne ponowne uruchomienie).

Jak zobaczysz, wynik był taki, że chkdsk faktycznie usunął dla mnie pliki. Tak więc, jeśli chcesz zachować pliki, nie wiem, co robić, ale to na pewno pozbędzie się plików.

Wyniki / Dziennik Cmd:

E:\islag\Music\llb>dir
 Volume in drive E is FreeAgent Drive
 Volume Serial Number is 5038-892A

 Directory of E:\islag\Music\llb

02/02/2011  12:18 PM    <DIR>          .
02/02/2011  12:18 PM    <DIR>          ..
04/04/2010  02:19 PM         4,014,099 01 Los Lonely Boys - Se?orita - www.file2
4ever.com.mp3
04/04/2010  02:18 PM         3,125,942 12 Los Lonely Boys - La Contestaci?n - ww
w.file24ever.com.mp3
               2 File(s)      7,140,041 bytes
               2 Dir(s)  87,743,991,808 bytes free

E:\islag\Music\llb>chkdsk /V
The type of the file system is NTFS.
Volume label is FreeAgent Drive.

WARNING!  F parameter not specified.
Running CHKDSK in read-only mode.

CHKDSK is verifying files (stage 1 of 3)...
  231424 file records processed.
File verification completed.
  34 large file records processed.
  0 bad file records processed.
  0 EA records processed.
  0 reparse records processed.
CHKDSK is verifying indexes (stage 2 of 3)...
18 percent complete. (29338 of 245164 index entries processed)
An invalid filename 01 Los Lonely Boys - Se?orita - www.file24ever.com.mp3 (3196
6) was found in directory 31962.
All filenames for File 31966 are invalid.
Minor file name errors were detected in file 31966.
An invalid filename 12 Los Lonely Boys - La Contestaci?n - www.file24ever.com.mp
3 (31973) was found in directory 31962.
All filenames for File 31973 are invalid.
Minor file name errors were detected in file 31973.
73 percent complete. (233817 of 245164 index entries processed)
Index entry 01 Los Lonely Boys - Se?orita - www.file24ever.com.mp3 in index $I30
 of file 31962 is incorrect.
Index entry 12 Los Lonely Boys - La Contestaci?n - www.file24ever.com.mp3 in ind
ex $I30 of file 31962 is incorrect.
  245164 index entries processed.
Index verification completed.

Errors found.  CHKDSK cannot continue in read-only mode.

E:\islag\Music\llb>dir
 Volume in drive E is FreeAgent Drive
 Volume Serial Number is 5038-892A

 Directory of E:\islag\Music\llb

02/02/2011  12:18 PM    <DIR>          .
02/02/2011  12:18 PM    <DIR>          ..
04/04/2010  02:19 PM         4,014,099 01 Los Lonely Boys - Se?orita - www.file2
4ever.com.mp3
04/04/2010  02:18 PM         3,125,942 12 Los Lonely Boys - La Contestaci?n - ww
w.file24ever.com.mp3
               2 File(s)      7,140,041 bytes
               2 Dir(s)  87,743,991,808 bytes free

E:\islag\Music\llb>chkdsk /V /f
The type of the file system is NTFS.
Cannot lock current drive.

Chkdsk cannot run because the volume is in use by another
process.  Chkdsk may run if this volume is dismounted first.
ALL OPENED HANDLES TO THIS VOLUME WOULD THEN BE INVALID.
Would you like to force a dismount on this volume? (Y/N) y
Volume dismounted.  All opened handles to this volume are now invalid.
Volume label is FreeAgent Drive.

CHKDSK is verifying files (stage 1 of 3)...
  231424 file records processed.
File verification completed.
  32 large file records processed.
  0 bad file records processed.
  0 EA records processed.
  0 reparse records processed.
CHKDSK is verifying indexes (stage 2 of 3)...
18 percent complete. (29339 of 245164 index entries processed)
Deleted invalid filename 01 Los Lonely Boys - Se?orita - www.file24ever.com.mp3
(31966) in directory 31962.
File 31966 has been orphaned since all its filenames were invalid
Windows will recover the file in the orphan recovery phase.
Correcting minor file name errors in file 31966.
Deleted invalid filename 12 Los Lonely Boys - La Contestaci?n - www.file24ever.c
om.mp3 (31973) in directory 31962.
File 31973 has been orphaned since all its filenames were invalid
Windows will recover the file in the orphan recovery phase.
Correcting minor file name errors in file 31973.
73 percent complete. (233642 of 245164 index entries processed)
Deleting index entry 01 Los Lonely Boys - Se?orita - www.file24ever.com.mp3 in i
ndex $I30 of file 31962.
Deleting index entry 12 Los Lonely Boys - La Contestaci?n - www.file24ever.com.m
p3 in index $I30 of file 31962.
  245164 index entries processed.
Index verification completed.
CHKDSK is scanning unindexed files for reconnect to their original directory.
  2 unindexed files scanned.
CHKDSK is recovering remaining unindexed files.
  2 unindexed files recovered.
CHKDSK is verifying security descriptors (stage 3 of 3)...
  231424 file SDs/SIDs processed.
Cleaning up 41 unused index entries from index $SII of file 9.
Cleaning up 41 unused index entries from index $SDH of file 9.
Cleaning up 41 unused security descriptors.
Security descriptor verification completed.
  6871 data files processed.
CHKDSK is verifying Usn Journal...
  1116928 USN bytes processed.
Usn Journal verification completed.
Correcting errors in the master file table's (MFT) BITMAP attribute.
Windows has made corrections to the file system.

 244196000 KB total disk space.
 158175168 KB in 30003 files.
     22820 KB in 6873 indexes.
         0 KB in bad sectors.
    306168 KB in use by the system.
     65536 KB occupied by the log file.
  85691844 KB available on disk.

      4096 bytes in each allocation unit.
  61049000 total allocation units on disk.
  21422961 allocation units available on disk.

E:\islag\Music\llb>dir
 Volume in drive E is FreeAgent Drive
 Volume Serial Number is 5038-892A

 Directory of E:\islag\Music\llb

02/02/2011  12:18 PM    <DIR>          .
02/02/2011  12:18 PM    <DIR>          ..
               0 File(s)              0 bytes
               2 Dir(s)  87,743,979,520 bytes free

E:\islag\Music\llb>
Wyspa Aubrey
źródło
Działa idealnie! To powinna być odpowiedź.
enb081
2
@ enb081 Nie, to nie powinna być odpowiedź, ponieważ nie ma to nic wspólnego z pytaniem, jakim jest zmiana nazwy plików. Do licha.
Jim Balter
12

chkdskczasami naprawi nieprawidłowe nazwy plików. Zostanie wyświetlony komunikat o usunięciu pliku, ponieważ wszystkie nazwy plików są nieprawidłowe, a następnie odzyskaniu utraconego pliku. Następnie możesz znaleźć plik w C:\found.000\file0000.chk. Jest to skuteczny sposób na usunięcie plików powodujących problemy, ale nie jest to najlepszy sposób, jeśli chcesz je zachować.

gohop
źródło
Ta prosta sztuczka właśnie mi pomogła. Zrezygnowałem z utraty pliku po wykonaniu polecenia chkdsk, ale ta odpowiedź mi przypomniała \found.000.
davidbak
Dziękuję Ci. jest to prosty, ale skuteczny sposób 👍
علیرضا
11

Sposób, w jaki usunąłem uparty plik, był przez otwarcie 7zip, znalezienie pliku i zmianę nazwy pliku za pomocą 7zip. Mój był utworem, który miał spację na końcu pliku.

zaraz
źródło
Masz na myśli, że sam plik nie był nawet w archiwum, ale użyłeś 7-Zip do zmiany nazwy w systemie plików? Mądry.
Arjan
To działa świetnie. Wypróbowałem kilka innych opcji tutaj i ta pierwsza działała.
rakensi
1
7zip mógł zmienić nazwę pliku, ponieważ nazwy plików kończące się spacjami nie stanowią problemu w systemie Windows. Nazwy plików zawierające „?” stanowią problem, a 7zip nie może ich zmienić.
Jim Balter
Działa to dla mnie idealnie, ponieważ moim problemem nie były rzeczywiste znaki zapytania, ale dziwne znaki Unicode, które właśnie wyświetlały się jako znaki zapytania w moim menedżerze plików. Importując pliki (były ich setki) do archiwum 7-Zip, a następnie eksportując je ponownie, 7-Zip po prostu przekonwertował złe znaki na podkreślenia (_). Potem znów mogłem pracować z plikami. Problem całkowicie rozwiązany. Dzięki za świetną wskazówkę!
Jesper
Nie mogę zmienić nazwy plików za pomocą znaku „:”: i.imgur.com/dZBqqeP.png
user598527
11

Spróbuj określić ścieżkę UNC (zobacz Nazewnictwo plików, ścieżek i przestrzeni nazw ). To omija wszelkie ograniczenia. Zrobiłbyś to przy użyciu \\?\składni.

Przykład: jeśli plik znajdował się na pulpicie (a dysk systemu Windows to C :), możesz to zrobić

copy "\\?\C:\Users\codeLes\Desktop\Where Have All the Cowboys Gone?.ogg" "\\?\C:\Users\codeLes\Desktop\Where Have All the Cowboys Gone.ogg"

Uwaga: W tej składni nie można używać ścieżek względnych; musisz podać pełną ścieżkę. I to nie działa z renpoleceniem, ale działa z copyi move.

Joshua
źródło
4
spróbowałem, a nie szczęście „Nazwa pliku, nazwa katalogu lub składnia etykiety woluminu jest nieprawidłowa”. Dzięki! Przechodzę do momentu, w którym myślę, że poprawną odpowiedzią jest użycie Linuksa do zmiany nazwy (co zrobiłem).
codeLes
Ta odpowiedź jest zdecydowanie błędna. Ograniczenie prawidłowych znaków znajduje się w sterowniku NTFS w jądrze systemu Windows. \\?\po prostu omija przetwarzanie ścieżki pliku w bibliotece wykonawczej trybu użytkownika. Nie pozwala na otwieranie nazw plików zawierających 5 znaków wieloznacznych (*? "<>), Innych znaków zastrzeżonych (/ |: \) lub znaków kontrolnych
Eryk Sun
Działa w moim przypadku: miałem nazwę pliku ze znakiem Unicode wewnątrz i na końcu \n . Nie pytaj mnie, jak to utworzyłem (cóż, próbuję sprawdzić, czy możesz utworzyć wiele plików o identycznej nazwie w systemie Windows). Explorer, FreeCommander nie mógł go usunąć, ale \\?\C:\...może.
Dio Phung
8

Użyj Recuva . Jest przeznaczony przede wszystkim do odzyskiwania skasowanych plików, ale ma również opcję włączenia plików nieskasowanych podczas skanowania.

Po uruchomieniu Recuva odrzuć kreatora i wybierz właściwy dysk. Następnie przejdź do Opcje, znajdź i zaznacz opcję „Skanuj w poszukiwaniu nieusuniętych plików” i uruchom skanowanie. Po chwili pokaże wszystkie pliki na dysku (usunięte lub nie). Znajdź swoje pliki z nieprawidłowymi nazwami (nazwy są już ustawione w widoku), wybierz je, kliknij prawym przyciskiem myszy i gdzieś zapisz („odzyskaj”).

wprowadź opis zdjęcia tutaj

Właśnie to zrobiłem (w systemie Windows XP).

Jan Lachnitt
źródło
Działa dobrze dla nazwy pliku z osadzonym, /nktórego 7-zip nie mógł manipulować.
davidbak
5

Narzędzie Microsoft DISKEDIT.EXE to narzędzie niskiego poziomu do bezpośredniego odczytu i zapisu surowych danych na dysku. Powinieneś być w stanie załadować klaster zawierający pozycję katalogu dla tego pliku i po prostu zmienić obrażające „?” charakteru do czegoś nieszkodliwego i zapisz go z powrotem na dysk.

Rozumiem, że narzędzie Microsoft Diskedit (nie narzędzie Norton Utilities o tej samej nazwie, które dotyczy tylko woluminów FAT) było ostatnio widoczne w systemie Windows 2000 SP4. Istnieje jednak link do niego, który można znaleźć tutaj .

Aby zlokalizować odpowiedni klaster, możesz pobrać wersję próbną DiskExplorer dla NTFS .

Zaczynasz od Plik-> Dysk ..., aby otworzyć dysk zawierający ten zły plik. Wybierz Idź-> Katalog główny, aby uzyskać widok katalogu. Przejdź do katalogu zawierającego zły plik, korzystając z linków MFT #. Kiedy tam dotrzesz, u góry okna pojawi się napis „MFT # x12345 DIR:„ dirname ”, ... bla bla bla ... począwszy od klastra x9302AE , ... bla bla bla

Teraz przejdź do Microsoft Diskedit. Najpierw wykonaj Plik-> Otwórz ... i określ nazwę woluminu C: (jeśli plik znajduje się na dysku C:). Pozostaw nazwę pliku woluminu pustą. Weź ten początkowy numer klastra i wprowadź go do diskedit w Odczyt-> Klastry NTFS ...-> Początkowy klaster (wprowadź go jako liczbę szesnastkową).

Teraz użyj klawiszy strzałek, aby przewinąć w dół do złej nazwy pliku. Jest w trybie Unicode, więc będziesz szukać czegoś takiego jak „Where .Have .All. The .Cowboys .Gone? ... ogg” Ustaw kursor na złym znaku „3F” i wpisz coś bezpiecznego, na przykład 5F (' _ '). Wybierz Write-> It, aby zapisać go z powrotem na dysk.

Jest jeszcze jedno miejsce do trafienia (nie jestem pewien, czy jedno lub oba są potrzebne). Teraz z powrotem w DiskExplorer, kliknij Mft # dla uszkodzonego pliku. Otrzymasz ekran z drzewem po lewej stronie z napisem „struktury”. Kliknij „Atrybuty” w drzewie. Wyświetli się lista atrybutów, z których jednym będzie około 30 $ ... $ FILE_NAME. Zatem 30 $ ma nazwę pliku. Kliknij węzeł Body poniżej węzła 30 USD w drzewie Struktury. Wybierz menu Widok-> jako Hex. Kilka linii w dół powinieneś zobaczyć nazwę pliku Where .Have .. itd. Po lewej stronie ekranu zobaczysz kolumnę Sector, która pokazuje, na który sektor dysku patrzysz.

Z powrotem na dysku. Wykonaj Read-> Sectors ... i wprowadź numer sektora z DiskExplorer. Tak jak poprzednio, przewiń w dół i zamień znak „3F” na taki sam znak, jak powyżej. Wybierz Write-> It, aby zapisać na dysk.

Zrobiłem to wszystko, a narzędzia mówią mi, że zmieniłem postać, ale odkrywca nie. Katalog musi gdzieś być buforowany. Po ponownym uruchomieniu zmiana staje się widoczna.

użytkownik14068
źródło
+1 za prawidłowe (ale mniej lub bardziej niepraktyczne) podejście, mając nadzieję, że trochę się rozwinie i wyprzedzi przynajmniej niektóre błędne odpowiedzi. ;)
Sz.
5

Spróbuj użyć narzędzia innej firmy, takiego jak Ken Kename :

Zrzut ekranu z Kenem Rename

lub Zmień nazwę Mistrza .

wprowadź opis zdjęcia tutaj

Oto lista narzędzi do zmiany nazw plików .

Sam bym je przetestował, ale używam 64-bitowego systemu Windows Vista; obsługa plików może być inna.

Jeśli te narzędzia zawiodą, możesz spróbować Windows PowerShell . Zobacz Zmiana nazw plików na blogu Windows PowerShell .

męstwa
źródło
Próbowałem Directory Opus i to nie działało (ten sam komunikat o błędzie).
user14068,
Próbowałem Flexible Renamer 8.4, który wydaje się załatwić sprawę. Pozyskane z tej samej strony, o której wspomniałeś.
JohnnyBizzle
4

Czy próbowałeś przenieść go do pliku o właściwej nazwie?

move "Where Have All the Cowboys Gone?.mp3" "Where Have All the Cowboys Gone.mp3"
Tom Kidd
źródło
2
próbowałem, bez powodzenia. „Nazwa
pliku
Działa dla mnie z copypoleceniem.
Nicolas
@Nicolas, to znaczy, że był ?lub *lub <lub >lub :w imieniu i copy-ing po prostu pracował? (Właśnie tego spróbowałem i nie zaskoczyło mnie to.)
Sz.
@Sz. przykro mi, że to nie działało dla ciebie. Nie pamiętam nazwy pliku, którego nazwę musiałem zmienić, ale zadziałało to dla mnie z copypoleceniem. Czy spróbowałeś także cygwinpolecenia bash mv?
Nicolas
1
@Nicolas, dzięki za próbę pomocy, ale chodzi mi o to, że te znaki I wymienione powyżej (i kilka innych, jak ", |, /i oczywiście odwrotny ukośnik (co nie wydaje się wchodzić tutaj :))) są w inną klasę problematycznych znaków ( zarezerwowane ), i obawiam się, że ani copypolecenie, ani nie Cygwinpotrafię zmienić ich nazwy. (Najprawdopodobniej miałeś różne znaki w problematycznej nazwie pliku.)
Sz.
4
  • Jeśli jest to więcej niż 1 plik, utwórz na przykład nowy katalog o prostej nazwie a.
  • Przenieś jeden plik za każdym razem do tego katalogu.
  • W cmd.exeprzejść do nowego katalogu i wpisz następujące polecenie:

    ren *.ogg 1.ogg   
    

    To dla uproszczenia. Następnie możesz zmienić nazwę w XP, jak chcesz, jak 1.oggchcesz Where Have All the Cowboys Gone.ogg. oggbył tylko przykładem, rozszerzenie może być dowolne.

slhck
źródło
Co? Jak masz przenieść ten plik (OP) z symbolem wieloznacznym w jego nazwie?
Sz.
4

Jeśli masz zainstalowany Cygwin, powinien on być w stanie zająć się plikiem. Właśnie miałem ten problem i użycie rm z Cygwina w powłoce bash było w stanie usunąć plik w porządku, gdy żadna aplikacja Windows, w tym Explorer, w tym próba użycia pliku UNC z plikiem CMD.exe nie pomogła.

Wyobrażam sobie, że mv zrobi to na wypadek, gdybyś chciał zachować plik.

Konfiguracja Cygwin na boso zajmuje tylko kilka minut, a ja i tak ją utrzymuję, ponieważ jest tak wiele dobrych narzędzi. Jest to łatwiejsze niż uruchomienie Linuksa, nawet przy użyciu płyty CD na żywo.

ConceptJunkie
źródło
Próbowałem, cygwin nie mógł usunąć pliku („Brak takiego pliku lub katalogu”). Dobry pomysł.
JulianHzg
To zadziałało dla mnie lub przy użyciu podobnego MSYS2 (przepisanie MSYS, rozwidlenie Cygwin) w systemie Windows 8.1. Byłem w stanie zapisać plik pod nową nazwą, a następnie usunąć go normalnie. Mój plik miał na końcu spację i pojawił się przy użyciu „dir” - „ls” go jednak nie pokazał.
Brian Burns
@ bburns.km, przynajmniej kwalifikujesz swoje oświadczenie „działa dla mnie”. Oczywiście działa w przypadku nazwy pliku ze spacją na końcu. \\?\działałby również w tym przypadku - przy prawidłowym użyciu z pełną ścieżką w Unicode. Pomija kod biblioteki wykonawczej trybu użytkownika, który emuluje dziwaczną starą regułę MS-DOS z lat 80., która ignoruje spacje na końcu nazw. Problem nieprawidłowych i zarezerwowanych znaków nie może być rozwiązany w ten sposób.
Eryk Sun
3

Zakładając, że dany wolumin to FAT32 lub NTFS, spróbuj uruchomić program chkdsk. To powinno wyczyścić „uszkodzone” pozycje katalogu, co w tym przypadku oznaczałoby usunięcie? Jeśli jest to wolumin rozruchowy, może być konieczne ponowne uruchomienie komputera.

Michael Kohne
źródło
Miałem nazwę folderu z, :a zrobienie tego sprawiło, że katalog zniknął. NIE rób tego.
leeand00
1
Właściwie chkdskprzeniosłem zawartość folderu w katalogu głównym
dysku twardego
3

To powinno zadziałać (przynajmniej dla mnie):

dir /X *cowboys*

To polecenie wyświetli coś podobnego do tego:

08/11/2011  15:21    <DIR>          WH5E97~1     Where Have All the Cowboys Gone
?.ogg

Właśnie WH5E97~1tego szukasz!
(Uwaga: taki kod jest całkowicie wymyślony, ale powinien być podobny do tego, który znajdziesz)

Wiedząc o tym, proste

rename WH5E97~1 "Where Have All the Cowboys Gone.ogg"

powinien załatwić sprawę.

Mam nadzieję, że to pomoże.

unwiredbrain
źródło
Niezłe rozwiązanie. Powinien działać, ale działa tylko wtedy, gdy nazwa pliku jest dłuższa niż 8 znaków (dlatego nie w moim przypadku).
JulianHzg
Niekoniecznie. Zgodnie z dokumentacją typowania dir t97*zwraca zarówno pliki, ponieważ wieloznaczny gwiazdka odpowiada plik t.txt2do t97.txtużywając jego skrócona nazwa mapyT97B4~1.TXT
unwiredbrain
2

czy próbowałeś:

type "Where*.ogg" > "Where.ogg"

może zadziałać.

Atmocreations
źródło
1
Nazwa pliku, nazwa katalogu lub składnia etykiety woluminu jest niepoprawna.
Ciaran
1

Wypróbuj wieloznaczny w ruchu -

move "Where Have All the Cowboys Gone*.mp3" "Where.mp3"

To prawdopodobnie najlepszy wybór, o ile istnieje tylko jeden plik pasujący do symbolu wieloznacznego.

Michael Kohne
źródło
Właściwie w tym przypadku powinien już działać z nazwą pliku, ponieważ znak zapytania jest znakiem wieloznacznym. Tym razem gwiazdka nie jest potrzebna.
Synetech,
1
Niestety, to nie działa, ani z oryginalną nazwą pliku, ani z bardziej ogólnymi symbolami wieloznacznymi, takimi jak * .mp3.
JulianHzg
1

przeciągnij i upuść do nowego folderu, przejdź w wierszu polecenia do tego folderu i wpisz

ren *.* test.ogg
William Hilsum
źródło
1
przeciąganie i upuszczanie również kończy się niepowodzeniem z tym samym błędem ... chociaż dzięki
codeLes
6
I odwrotnie, możesz spróbować przenieść wszystko inne z danego folderu.
odtąd
1

Spróbuj cygwin, aby zmienić nazwę pliku:

polecenie będzie: mv filename?.ogg filename.ogg

Keck
źródło
raz spróbowałem cygwina na Vistę, wydaje się, że mam ten sam problem, nie mam do niego dostępu na mojej bieżącej maszynie
roboczej
nie działa, wypróbowałem na Win7 64b
Max
1

Większość wewnętrznych poleceń Microsoft jest kontrolowana przez obecność explorer.exe.

Otwórz Menedżera zadań i sprawdź listę bieżących aktywnych procesów. Znajdziesz explorer.exewśród nich. Kliknij prawym przyciskiem myszy i zakończ / zatrzymaj / zamknij explorer.exe. Nie zamykaj jeszcze Menedżera zadań. Teraz przejdź do obraźliwego pliku za pomocą dodatkowego menedżera plików i spróbuj usunąć lub zmienić nazwę za pomocą symboli wieloznacznych. Prawdopodobnie odniesie sukces.

Teraz wróć do okna Menedżera zadań i kliknij prawym przyciskiem myszy górny wiersz z napisem Aplikacje, a następnie wybierz dolny przycisk z napisem Nowe zadanie. Enter explorer.exe. Eksplorator pojawia się ponownie i nie ma już pliku ofensywnego.

Doktoro Reichard
źródło
1

Interfejs GUI WinRAR pozwoli Ci zmienić nazwę plików bez uprzedniego spakowania ich do archiwum. Przetestowałem to w systemie Windows 8.1 na bardzo długiej nazwie pliku. Działa jak urok.

KellyRavenholm
źródło
1

Jeśli masz WinRAR, spakuj go na WinRAR, zmień nazwę na WinRAR, rozpakuj.

Możesz też spróbować użyć VBScript, wziąć następny skrypt i zapisać go w pliku z rozszerzeniem .vbs .

Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")

fso.MoveFile "Where Have All the Cowboys Gone?.ogg", "Where.ogg"
Jhonny D. Cano -Leftware-
źródło
2
Nie mam WinRAR w pracy, a mojej maszyny nie ma w sieci. Mam 7zip, w każdym razie mogę to zrobić za pomocą 7zip, właśnie wypróbowałem i nie pozwoli mi dodać go do archiwum ... ten sam błąd :-)
codeLes
próba skryptu powoduje błąd „nie znaleziono ścieżki” (kod: 800A004C). czy to ważne, że ten plik znajduje się na zewnętrznym napędzie USB? Umieszczam plik w tym samym folderze ... postaram się następnie na
stałe
w pełni kwalifikowana nazwa też nie działa ...
codeLes
zgadzam się na opcję chkdsk
Jhonny D. Cano -Leftware-
Wypróbowałem to z WinRAR. Nie działało Ten sam wynik.
user14068,
1

Miałem również podobny problem z folderem. Nazwa folderu to „.min”. co zwykle nie jest dozwolone.

Zmień nazwę niedozwoloną (kliknij, aby zobaczyć obraz)

Dzięki Winrar udało mi się to rozwiązać. To co zrobiłem było

  • kliknij folder prawym przyciskiem myszy
  • wybierz „Dodaj do archiwum ...”
  • wybierz nową nazwę archiwum (bez znaków specjalnych)
  • z opcji archiwizacji wybierz „Usuń pliki po archiwizacji”
  • niż wybierz OK

Dodaj do archiwum ... (kliknij, aby zobaczyć obraz)

  • Następnie otworzyłem plik .rar
  • i zmieniłem nazwę pliku w

Jest to dozwolone, ponieważ system Windows tak naprawdę nie sprawdza, co znajduje się w pliku .rar. Jak tylko zmienisz nazwę, wyodrębnij plik i gotowe.

Mam nadzieję, że to pomoże.

Lefteris Eleftheriou
źródło
Nie działa dla mnie Moja nazwa pliku to 10:2.
Pacerier
0

Użyj cmd.exe w tym katalogu z symbolami wieloznacznymi. Na przykład:

ren "Where Have All the *.ogg" "Where Have All the Cowboys Gone.ogg"
harrymc
źródło
Globowanie odbywa się za pomocą powłoki.
Cześć71,
3
@ Hello71: Nie w pudełku DOS, Linux boy.
harrymc
0

Menedżer plików 7-Zip (7-zip.org) zmieni nazwy plików i katalogów, których XP nie może. Po prostu użyłem go do wyodrębnienia pliku .tar i zmiany nazwy dołączonego, nielegalnie nazwanego pliku .chm. Nie wymaga LiveCD.

Tschüß!

monsignormoney
źródło
0

Miałem podobny problem z 2 zagnieżdżonymi folderami z podfolderami. Nie mogłem zmienić nazwy ani usunąć niektórych plików (próbowałem na wiele sposobów). W końcu znalazłem rozwiązanie: Teracopy.

Zainstaluj go, kliknij prawym przyciskiem myszy folder lub plik i wybierz teracopy. Teracopy otworzy się, a następnie kliknij deletelub rename. Zmieni nazwę lub usunie ją.

Możesz spróbować.

Serkan Polat
źródło
0

Wpadłem na tę samą sytuację.

Googling po okolicy Dowiedziałem się, że nie ma natywnego rozwiązania.

... i używam jako powłoki JCCoft TCC, który również nie mógł obsłużyć tych przeklętych plików.

Ale dowiedziałem się również, że Cedrick Collomb's Unlocker ( http://www.emptyloop.com/unlocker/ ) jest w stanie sobie z tym poradzić.

I miałem to w mojej konfiguracji. Również bardzo go polecam.

Cóż, przynajmniej to rozwiązanie nie wymaga opuszczania środowiska Windows ...

Marcus Vinicius Pompeu
źródło
0

Naprawiłem taki plik FLAC za pomocą podstawowego polecenia Winampa, używając okna eksploratora tego programu. Kiedy poszedłem do folderu, miałem opcję zmiany nazwy, w przeciwieństwie do Eksploratora.

Wolny zawód
źródło
0

Spotkałem podobną sytuację. Żadne z opublikowanych rozwiązań nie działało dla mnie, ale w końcu znalazłem łatwe rozwiązanie:

  • Nie wymaga zewnętrznego narzędzia
  • Nie jest wymagana znajomość żadnego języka programowania lub skryptów powłoki

Po prostu skopiowałem plik (tak, kopiowanie nadal było dla mnie możliwe) na pamięć USB, przemianowałem go tam i umieściłem z powrotem! Pozostawiam innym wyjaśnienie, dlaczego to zadziałało.

David.
źródło
0

To nie jest bezpośrednia odpowiedź (jak w przypadku, gdy Windows może zmienić nazwę pliku), ale to działa dla mnie. Nielegalne pliki są zwykle na dysku zewnętrznym, więc podłączam dysk zewnętrzny do mojego tabletu z Androidem . Pozwala mi to zmienić nazwę pliku, który następnie może zostać odczytany przez system Windows. Dotyczy to specjalnych znaków, ale zwykle pojawia się problem z nazwą pliku rozpoczynającą się lub kończącą spacją lub kończącą się na „.”

Wypróbowałem jedno z zewnętrznych narzędzi FlexRenamer, ale nadal ma to problem z powyższym.

JohnnyBizzle
źródło
0

W większości przypadków ta odpowiedź jest bezużyteczna .
Oszukały mnie nazwy plików zawierające znaki, które są reprezentowane jako znaki zapytania, podczas gdy w rzeczywistości są to tylko znaki, których domyślnie nie można / nie wyświetla domyślna liczba znaków M $.

Czy powinienem usunąć ten post? Nadal może pomóc niektórym ludziom ...


Spróbuj użyć wbudowanego polecenia tab-cmd.exe.

  1. dir /x nie pomaga (NTFS został utworzony bez obsługi krótkich nazw plików):

    dir
     Verzeichnis von C:\Temporal\_black
    05.10.2015  21:23    <DIR>          none\none         ? ?????????, ?????????
    
    dir /X
     Verzeichnis von C:\Temporal\_black
    05.10.2015  21:23    <DIR>                       none\none         ? ?????????, ?????????
    
  2. Próba zmiany nazwy przez wpisanie / kopiowanie i wklejanie nazwy nie działa:

    C:\Temporal\_black> ren "? ?????????, ?????????" bart
    Syntaxfehler.
    
  3. Aby to zadziałało, musisz użyć tabulatora . Po prostu przejdź do odpowiedniego katalogu w powłoce cmd, wpisz ren, naciśnij klawisz tabulator i naciskaj go, aż pojawi się „poprawna” nazwa:

    C:\Temporal\_black>ren "? ?????????, ?????????"
    

    następnie wpisz resztę i naciśnij enter:

    C:\Temporal\_black>ren "? ?????????, ?????????" bart
    

    Zostaniesz nagrodzony za to:

    C:\Temporal\_black> dir
     Verzeichnis von C:\Temporal\_black
    05.10.2015  21:23    <DIR>          none\none         bart
    

To trochę nudne, ale do tej pory zawsze działało dla mnie z plikami i katalogami (Windows 7 i 8).

Śmieszna uwaga: renKomendy w 2. i 3. są identyczne, ale nie zadziała bez użycia tabulacji. I nawet jeśli używałeś uzupełniania tabulatorami, to nie będzie działać, gdy tylko zmienisz nazwę po ren(np. Usuniesz i dodasz znak zapytania).

Limer
źródło