extrair arquivo com um nome muito longo

6

Eu tenho um arquivo rar que eu baixei, exceto que alguns dos nomes de arquivos são muito longos para serem criados pelo Ubuntu. Como posso extrair todos os arquivos?

O gerenciador de arquivos padrão no Ubuntu passa pela maioria dos arquivos, falha e exclui a pasta inteira. Ark os extrai e silenciosamente falha em nomes que são muito longos.

    
por EricR 06.01.2012 / 22:12

3 respostas

6

A limitação usual do sistema de arquivos de 255 caracteres se aplica a nomes de arquivos ou diretórios exclusivos, não ao caminho inteiro. Então extraí-lo para / a não ajudará. O problema é que o formato de arquivo RAR permite que o arquivo contenha arquivos cujo nome pode exceder 255 caracteres.

Você pode contornar esse problema imprimindo o arquivo problemático para stdout e redirecionando-o para um arquivo:

unrar -inul p archive.rar overly-long-file-name > shorter-name

Isso extrai um nome de arquivo muito longo de archive.rar, em um arquivo chamado short-name.

    
por 04.05.2013 / 11:16
3

você pode tentar & encurtar o caminho com o qual ele tem que trabalhar ... em uma casca, por exemplo:

mkdir /a; cd /a
unrar /path/to/file/with/long/names .

(certifique-se de que você tem sudo su - no Ubuntu ou você não terá privilégios suficientes para escrever no diretório raiz.)

em vez de tentar extrair arquivos para algum diretório como /long/directory/name/some/path/where/fish/live/ ... você deve conseguir extraí-los para um diretório curto como /a

de lá ... você deve ser capaz de manipular seus arquivos da maneira que precisar ... e / ou colocá-los onde eles deveriam ir. Lembre-se de limpar seu / removendo o diretório temporário.

    
por 06.01.2012 / 22:18
-1

Eu tive esse problema com os mp3s do Bandcamp - seus arquivos têm o artista e o título do álbum e o título da música no nome do arquivo, então às vezes eles ficam longos!

Minha solução é usar a opção "preview" do Ark.

Depois de selecionar o arquivo incorreto e selecionar Visualizar, ele começa a ser reproduzido no meu music player (uso o Clementine). Então clique com o botão direito no arquivo no Clementine e clique em "show in file browser". Isso abre uma janela do navegador de arquivos que mostra o diretório temporário em que o arquivo visualizado está sendo mantido (se você usar um reprodutor de música diferente sem essa opção, imagine que só precisará encontrar o diretório manualmente).

Eu então paro a música tocando, depois renomeio rapidamente no diretório temporário e recorto e colo no lugar que eu quero.

Se você estiver muito lento, o arquivo desaparecerá do diretório temp e você terá que começar de novo.

Não sei se funcionaria para outros tipos de arquivos.

Espero que isso ajude quem veio aqui do google como eu fiz. Como não-techy, eu não entendi o que "imprimir o arquivo problemático para stdout" significa, mas essa solução funciona para mim!

    
por 20.01.2014 / 19:22