[Cascavel-pm] Nomes longos no windows

Er Galvão Abbott - PM Porto Alegre pmpoa em galvao.eti.br
Segunda Abril 11 02:27:59 PDT 2005


Pessoal:

Valeu mesmo pelas dicas!

A idéia inicial era usar o Archive::Zip, mas não estava conseguindo por 
uma série de erros, por isso optei pelo system. Agora resolvi tentar 
novamente com o Archive::Zip e a coisa está funcionando (creio que o 
problema era justamente a versão do Perl que eu tava rodando).

Grande abraço à todos,

Er Galvão Abbott
-------------------------------------
Porto Alegre Perl Mongers
http://portoalegre.pm.org/
--------------------------------------
pmpoa em galvao.eti.br
--------------------------------------



Alceu Rodrigues de Freitas Jr. wrote:

> Er Galvão Abbott - PM Porto Alegre wrote:
>
>> Acontece que o WinRAR reclama que não pode usar o arquivo Zip porque 
>> ele já está sendo usado por outro processo. Eu entendo que cada 
>> chamada system faz um fork que cria um processo, certo?
>>
> Certo. Faz mesmo.
>
>> Ou seja, antes de cada operação (tanto de inserção de diretório como 
>> de inserção de arquivo) eu teria que verificar se o processo anterior 
>> já terminou o trabalho, correto?
>>
> Seria bom, mas isso pode se mostrar bastante trabalhoso.
>
>> Alguém poderia me dar umas dicas? Eu sei que tenho que usar signals, 
>> mas como nunca usei antes queria umas dicas de vocês. Notem como é 
>> feito o processo todo:
>>
> Usar signals? Esqueça... vc vai ficar louco tentando. Não funciona 
> direito no Windows (nem no Cygwin, eu fiquei quase louco tentando). Se 
> você puder, dê preferência a usar código Perl para fazer seu trabalho.
>
>>  1    for ($d = 0; $d < scalar(@dirs); $d++)
>>  2   {
>>  3        system('C:/arquivos de programas/winrar/winrar.exe', 'A', 
>> '-ibck', '-afzip', '-m5', 'C:/'.$compfile, $dirs[$d]);
>>  4       5        opendir(DH, $dirs[$d]) or die ('Impossivel abrir o 
>> diretório '.$dirs[$d].': '.$!);
>>  6        @files = grep { $_ ne '.' && $_ ne '..' } readdir DH;
>>  7       8        for ($f = 0; $f < scalar (@files); $f++)
>>  9        {
>> 10            system('C:/arquivos de programas/winrar/winrar.exe', 
>> 'A', '-ibck', '-afzip', '-m5', 'C:/'.$compfile, 
>> $dirs[$d].'/'.$files[$f]);
>> 11        }
>> 12      13        closedir(DH);
>> 14    }
>>
>> Se eu entendi corretamente estas checagens deveriam ser feitas antes 
>> da linha 3 e antes da linha 10, correto? 
>
>
> Experimente inserir um sleep de 1 ou 2 segundos antes de tentar fazer 
> a inserção... talvez isso já resolva seu trabalho (considerando que 
> esse tempo de espera não lhe cause problemas).
>
> Eu concordo com o Champs, às vezes usando o Windows você tem a 
> impressão que não tem controle sobre seu computador... isso me lembra 
> o Windows XP executando "reboots" automáticos toda vez que algo dá 
> errado... para tentar "consertar".
>
> []'s
> Alceu
>
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>
>


Mais detalhes sobre a lista de discussão Cascavel-pm