Como copiar arquivos contendo | no nome?

4

No Windows 7, não consigo copiar o arquivo com | no nome. Me dá um erro Can not find the file . Eu tenho cerca de 30GB de arquivos e todos contém esse caractere. Alguma idéia de como posso copiá-los para outra partição NTFS?

    
por Pablo 09.02.2012 / 14:40

4 respostas

11

A linha de comando é sua amiga.

Abra um CMD e CD na localização dos arquivos.

Digite dir /X e isso mostrará os nomes antigos do DOS 8.3 com ~1 , ~2 etc juntamente com o nome de arquivo longo.

Você pode copiar / renomear usando os nomes 8.3

Você pode misturar nomes de arquivo 8.3 e longos ao renomear:

ren THISIS~1.TXT "this is renamed.txt" funcionará

    
por 09.02.2012 / 16:00
4

O prefixo \?\ informa ao Windows que seu caminho está perfeitamente correto e que você não quer que nada seja feito. Isso significa que é menos tolerante. Por exemplo. dir "\?\C:" não funciona. O caminho correto é dir "\?\C:\" .

Isso deve ajudá-lo a ignorar a restrição de usar | em nomes de arquivos NTFS. No entanto, você ainda deve citar o nome do arquivo para que o CMD.EXE não interprete o | .

    
por 09.02.2012 / 15:55
1

Caracteres inválidos no nome do arquivo causarão problemas mais cedo ou mais tarde. Recomendamos que você renomeie todos os arquivos para evitar mais problemas.

Isso deve funcionar (mas não foi testado):

  1. Faça o download do Ubuntu e grave um Live CD.

  2. Inicialize a partir do Live CD.

  3. Abra um terminal, vá para a pasta que contém os arquivos ímpares e exexcute

    find . | grep "|" | awk '{ OLD=$0; gsub(/\|/, "_"); print "mv \"" OLD "\" \"" $0 "\"" }' | sh
    

Isso deve substituir todos os | s por _ s.

    
por 09.02.2012 / 14:58
0

Eu ia sugerir a mesma coisa que Dennis. Existem muitos aplicativos disponíveis para Windows também, mas eu Não sei quão bem eles fariam renomear arquivos com um caractere "inválido".

    
por 09.02.2012 / 15:11