Renomeando o nome do arquivo longo com caracteres ilegais [duplicados]

5

Eu tenho um arquivo de 2GB no Windows que tem um nome de arquivo longo FileTransfer.dll?Cmd=1&MN=1619353607&Dir=1&Mode=0&Off=0&TS=FA596160-1BFB-4113-9E10-B196243A73F3&CVN=5,0,0,32
Não sei como ficou o nome do arquivo (talvez do gerenciador de downloads )

Agora, quando tento renomeá-lo, ele diz

---------------------------
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   
---------------------------

Como renomeio esse arquivo? Eu não posso fazer uso deste arquivo de qualquer outra forma (como o carregamento).
Estou no Windows XP home (NTFS) e eu não usei linux até agora

Editar:
dir /X me dá

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
    
por Quintin Par 04.02.2010 / 13:12

4 respostas

3

Recentemente descobri que nomes de arquivos inválidos no Windows podem ser manipulados usando esta sintaxe:

\.\C:\somedir\filename

Isso pode ser usado para excluir ou renomear o arquivo incorreto, como nestes exemplos:

DEL \.\C:\test\LPT1

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

O teste mostra que essa sintaxe também funciona se a primeira parte do caminho for "\\? \" em vez de "\\. \".

    
por 24.07.2012 / 16:06
2

Encontre o nome abreviado do arquivo usando DIR / X, então você deve usar o REN para renomear o nome curto para um novo nome.

    
por 04.02.2010 / 13:29
2

Em muitos casos, a maneira mais simples de fazer isso é citar o nome do arquivo. [*]

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

As aspas protegem os caracteres estranhos ( ? e & e outros) de serem interpretados pelo shell como caracteres especiais. (No shell do Windows CMD, ? é um caractere curinga de caractere único. As citações informam ao CMD que não o interprete dessa maneira.)

Às vezes isso não funciona por outros motivos, e você precisará recorrer a uma das outras técnicas mencionadas. Mas esse é o primeiro a tentar primeiro.

[*] Shells Unix prefeririam aspas simples ( 'foo' ) ao invés de aspas duplas ( "foo" ) para proteção completa da interpretação da shell. O shell CMD parece preferir aspas duplas.

    
por 04.02.2010 / 15:16
0

Você pode tentar mover todos os outros arquivos para fora do diretório e, em seguida, a partir de uma janela do console

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

Espero que a expansão de curinga do comando rename não prejudique os caracteres inesperados. Você pode até mesmo tentar isso sem mover os outros arquivos para fora com um comando de renomear um pouco mais refinado:

rename FileTran* <newname>

(se você não estiver familiarizado com as janelas do console da linha de comando: pode-se iniciar executando cmd através do comando run no menu Iniciar do XP e, quando terminar, dê o comando exit )

    
por 04.02.2010 / 15:03