Zmiana nazwy długiej nazwy pliku na niedozwolone znaki [duplikat]

5

Możliwy duplikat:
Jak zmusić system Windows XP do zmiany nazwy pliku na specjalny znak?

Mam plik 2 GB w oknach, który ma długą nazwę pliku FileTransfer.dll?Cmd=1&MN=1619353607&Dir=1&Mode=0&Off=0&TS=FA596160-1BFB-4113-9E10-B196243A73F3&CVN=5,0,0,32
Nie jestem pewien, w jaki sposób otrzymała nazwę pliku w ten sposób (być może z menadżer pobierania )

Teraz, gdy próbuję zmienić jego nazwę, mówi

---------------------------
Error Renaming File or Folder
---------------------------
Cannot rename file: Select only one file to rename, or use MS-DOS wildcards (for example, *.txt) to rename a group of files with similar names.
---------------------------
OK   
---------------------------

Jak zmienić nazwę tego pliku? Nie mogę korzystać z tego pliku w żaden inny sposób (np. Ładowanie).
Jestem na Windows XP Home (NTFS) i nie korzystałem linux do teraz

Edytować :
dir /X daje mi

E:\Downloads>dir /X
 Volume in drive E is x
 Volume Serial Number is c

 Directory of E:\Downloads

02/04/2010  05:44 PM    <DIR>                       .
02/04/2010  05:44 PM    <DIR>                       ..
01/27/2010  09:12 PM            49,745              1.l
01/28/2010  12:09 AM     2,501,894,144              FileTransfer.dll?Cmd=1&MN=16
19353607&Dir=1&Mode=0&Off=0&TS=FA596160-1BFB-4113-9E10-B196243A73F3&CVN=5,0,0,32

01/28/2010  12:09 AM         3,138,664              wget-log.1
10/19/2009  02:46 AM        43,137,416              zapSetup_91_008_000_en.exe
               4 File(s)  2,548,219,969 bytes
               2 Dir(s)  80,069,509,120 bytes free
Quintin Par
źródło
Znak zapytania jest naprawdę dziwny. Z pewnością można je tworzyć w systemie Windows. Ale nie byłoby rozsądnego powodu.
Joey
Czy wyłączyłeś gdzieś tworzenie nazw 8.3? Nie widzę nazwisk w DIR / x
MartW
Tak, to dość dziwne, musi być wyłączone. Prawdopodobnie spróbowałbym pliku DIR *. * - powinieneś dostać tylko 1 plik, a następnie spróbuj plik REN *. * Myfile.exe (lub dowolne rozszerzenie, którego potrzebujesz). Numer seryjny jest również trochę dziwny. Powinieneś uruchomić CHKDSK, ale tylko po odzyskaniu tego, czego potrzebujesz.
jtreser

Odpowiedzi:

3

Niedawno odkryłem, że niepoprawne nazwy plików w systemie Windows można manipulować przy użyciu tej składni:

\\.\C:\somedir\filename

Można go użyć do usunięcia lub zmiany nazwy pliku, który jest obraźliwy, jak w poniższych przykładach:

DEL \\.\C:\test\LPT1

REN \\.\C:\test\LPT1 file.txt

Testowanie pokazuje, że ta składnia działa również wtedy, gdy pierwsza część ścieżki to „?” Zamiast „.

boot13
źródło
2

Znajdź krótką nazwę pliku za pomocą DIR / X, a następnie użyj REN, aby zmienić nazwę krótkiej nazwy na nową.

jtreser
źródło
pytanie zaktualizowane
Quintin Par
2

W wielu przypadkach najprostszym sposobem na to jest podanie nazwy pliku. [*]

rename "long-file-name-here" new-short-file-name

Cytaty chronią krzykliwe znaki ( ? i & i inne) od interpretacji przez powłokę jako znaki specjalne. (W powłoce Windows CMD, ? to jednoznakowy symbol wieloznaczny. Cytaty mówią, że CMD nie interpretuje tego w ten sposób.)

Czasami nie działa to z innych powodów i będziesz musiał skorzystać z jednej z innych wymienionych technik. Ale ten jest pierwszym, który spróbuje najpierw.

[*] Powłoki uniksowe preferowałyby pojedyncze cudzysłowy ( 'foo' ) zamiast podwójnych cudzysłowów ( "foo" ) dla pełnej ochrony przed interpretacją powłoki. Powłoka CMD wydaje się preferować cudzysłowy.

quack quixote
źródło
0

Możesz spróbować przenieść wszystkie inne pliki poza katalog, a następnie z okna konsoli

e:
cd e:\Downloads
rename * <newname>

Mam nadzieję, że rename ekspansja karty komendy nie ogranicza się do niespodziewanych postaci. Możesz nawet spróbować tego bez przenoszenia innych plików za pomocą nieco bardziej precyzyjnego polecenia zmiany nazwy:

rename FileTran* <newname>

(jeśli nie jesteś zaznajomiony z oknami konsoli wiersza poleceń: jeden można uruchomić przez uruchomienie cmd za pomocą polecenia uruchom w menu startowym XP, a kiedy skończysz, podaj exit dowództwo)

David Spillett
źródło