Como lidar com arquivos duplicados durante o tempo de execução

0

temos um programa que descompacta um arquivo e armazena os arquivos não zipados em um diretório.

Durante a descompactação, pode haver uma chance de o arquivo descompactado vir com o mesmo nome que descompactamos como parte do outro arquivo zipado.

1.zip

test.log
test1.log

2.zip

test2.log
test1.log

Eu tenho um loop para procurar pelo arquivo * .zip e, em seguida, na declaração, ele descompacta o arquivo.

Existe uma falha devido a um arquivo duplicado.

Eu quero evitar substituir o arquivo, não quero sobrescrever o arquivo.

Você pode sugerir alguma técnica com a qual eu possa manter todos os quatro arquivos?

    
por Ashish Garg 01.04.2015 / 07:59

2 respostas

0

A resposta simples é extrair cada arquivo para um diretório separado, dando a cada arquivo um espaço de nomes único (por exemplo, 1 / test.log, 1 / test1.log, 2 / test2.log, 2 / test1.log).

Se eles precisarem ser colocados no mesmo lugar, você pode adicionar o nome do arquivo a cada nome de arquivo (por exemplo, 1__test.log, 1__test1.log, 2__test2.log, 2__test1.log). Este é definitivamente um esforço maior e ainda há uma chance muito pequena de que uma colisão de nomes possa ocorrer se um nome de arquivo contiver a sequência de caracteres do separador (a parte __ em meus exemplos) que você usou.

    
por 01.04.2015 / 08:56
0

Basta usar o WINRAR e marcar as caixas de todas as opções do menu de contexto na configuração.

Depois, você pode selecionar todos os arquivos a serem descompactados, clicar com o botão direito do mouse sobre eles e arrastá-los para a pasta em que você quer que eles estejam e isso revelará o menu de contexto do WinRar.

Você pode então escolher extrair todos para o mesmo diretório, ou cada um para seu próprio diretório nomeado (nomeado a partir do nome do arquivo zip).

Se você quiser todos eles no mesmo diretório, escolha "Extrair aqui".

O WinRar detecta automaticamente os nomes de arquivos duplicados e oferece uma série de opções.

Basta escolher 'Renomear tudo' e cada duplicata subseqüente terá um número entre colchetes anexado ao nome do arquivo. eg (1), (2) etc.

    
por 01.04.2015 / 09:50

Tags