Localizar arquivo e depois deletá-lo...
Gostaria de saber a rotina p/ eu localizar um determinado arquivo em C:\ e seus subdiretorios e depois eliminar todos...
Obrigada...
Obrigada...
Dbluka
Curtidas 0
Respostas
Nerdex
31/03/2004
Posso te ajudar... mas a rotina é um pouco grande e possui vários loopings, inclusive um dentro do outro, pois se trata de um pocesso recursivo, onde ele procura um arquivo em em todo o C:\, esteja onde estiver...
Posso te retornar o arquivo .pas por e-mail, se desejar:
pcunit@terra.com.br
Posso te retornar o arquivo .pas por e-mail, se desejar:
pcunit@terra.com.br
GOSTEI 0
Paullus
31/03/2004
Posso te ajudar... mas a rotina é um pouco grande e possui vários loopings, inclusive um dentro do outro, pois se trata de um pocesso recursivo, onde ele procura um arquivo em em todo o C:\, esteja onde estiver...
Posso te retornar o arquivo .pas por e-mail, se desejar:
pcunit@terra.com.br
Seria interessante postar o código no fórum para que outras pessoas tenham acesso. Não concorda?
Além do mais a rotina não é tãããão grande assim.
Se for a mesma disponível na [b:2d39f908d8]unit FileCtrls[/b:2d39f908d8]...
GOSTEI 0
Nerdex
31/03/2004
paullus
É que eu implementei a rotina em níveis, como:
ex:
C:\niv1\niv2\niv3\niv4\niv5 ...
Fiz até o nivel 10, claro que abortando no momento que não existir mais níveis seguintes. Nota-se que é um processo recursivo, pois podem existir dezenas de diretórios no nível 2 por exemplo, assim existe looping para o nível e looping embutido para os arquivos de cada diretório do mesmo nível...
No caso da mocinha aí acima no looping dos arquivos ela poderá substituir por FileExists(path), para efetuar o seu procedimento caso a proposição seja verdadeira...
falow
É que eu implementei a rotina em níveis, como:
ex:
C:\niv1\niv2\niv3\niv4\niv5 ...
Fiz até o nivel 10, claro que abortando no momento que não existir mais níveis seguintes. Nota-se que é um processo recursivo, pois podem existir dezenas de diretórios no nível 2 por exemplo, assim existe looping para o nível e looping embutido para os arquivos de cada diretório do mesmo nível...
No caso da mocinha aí acima no looping dos arquivos ela poderá substituir por FileExists(path), para efetuar o seu procedimento caso a proposição seja verdadeira...
falow
GOSTEI 0
Paullus
31/03/2004
Eu tenho uma rotina que faz praticamente o mesmo que a sua.
Olha dentro de cada pasta, se dentro dela tiver pastas, olha lá dentro tb... só que sem limitação de nível. O problema é que a rotina esta no micro da minha casa (agora estou no trabalho).
Esta rotina eu fiz com base na rotina existente na [b:874f37ecc7]unit FileCtrls[/b:874f37ecc7] de nome [b:874f37ecc7]ReadFileNames[/b:874f37ecc7] que procura por arquivos para registrar dentro do TFileListBox.
Ela não deu mais do que 30 linhas (agora não lembro de cabeça) e também é recursiva. Por isso que eu acho interessante postar aqui no fórum porque no futuro outra pessoa pode vir a precisar da mesma rotina. :wink:
O grande problema é que em casa eu não tenho Internet. Mas vou tentar trazer pra postar por aqui.
Olha dentro de cada pasta, se dentro dela tiver pastas, olha lá dentro tb... só que sem limitação de nível. O problema é que a rotina esta no micro da minha casa (agora estou no trabalho).
Esta rotina eu fiz com base na rotina existente na [b:874f37ecc7]unit FileCtrls[/b:874f37ecc7] de nome [b:874f37ecc7]ReadFileNames[/b:874f37ecc7] que procura por arquivos para registrar dentro do TFileListBox.
Ela não deu mais do que 30 linhas (agora não lembro de cabeça) e também é recursiva. Por isso que eu acho interessante postar aqui no fórum porque no futuro outra pessoa pode vir a precisar da mesma rotina. :wink:
O grande problema é que em casa eu não tenho Internet. Mas vou tentar trazer pra postar por aqui.
GOSTEI 0
Paullus
31/03/2004
Eu tenho uma rotina que faz praticamente o mesmo que a sua.
Olha dentro de cada pasta, se dentro dela tiver pastas, olha lá dentro tb... só que sem limitação de nível. O problema é que a rotina esta no micro da minha casa (agora estou no trabalho).
Esta rotina eu fiz com base na rotina existente na [b:cb8ac53987]unit FileCtrls[/b:cb8ac53987] de nome [b:cb8ac53987]ReadFileNames[/b:cb8ac53987] que procura por arquivos para registrar dentro do TFileListBox.
Ela não deu mais do que 30 linhas (agora não lembro de cabeça) e também é recursiva. Por isso que eu acho interessante postar aqui no fórum porque no futuro outra pessoa pode vir a precisar da mesma rotina. :wink:
O grande problema é que em casa eu não tenho Internet. Mas vou tentar trazer pra postar por aqui.
Já no caso dela eu não acho que o FileExists resolva o problema, afinal de contas ela ainda tem que realizar a procura dentro do HD.
Olha dentro de cada pasta, se dentro dela tiver pastas, olha lá dentro tb... só que sem limitação de nível. O problema é que a rotina esta no micro da minha casa (agora estou no trabalho).
Esta rotina eu fiz com base na rotina existente na [b:cb8ac53987]unit FileCtrls[/b:cb8ac53987] de nome [b:cb8ac53987]ReadFileNames[/b:cb8ac53987] que procura por arquivos para registrar dentro do TFileListBox.
Ela não deu mais do que 30 linhas (agora não lembro de cabeça) e também é recursiva. Por isso que eu acho interessante postar aqui no fórum porque no futuro outra pessoa pode vir a precisar da mesma rotina. :wink:
O grande problema é que em casa eu não tenho Internet. Mas vou tentar trazer pra postar por aqui.
Já no caso dela eu não acho que o FileExists resolva o problema, afinal de contas ela ainda tem que realizar a procura dentro do HD.
GOSTEI 0
Nerdex
31/03/2004
Paullus, posta aí quando puder...
Outra dica. No Code Central da Borland tem uma rotina: scanner files, que utiliza thread nestes loopings...
Outra dica. No Code Central da Borland tem uma rotina: scanner files, que utiliza thread nestes loopings...
GOSTEI 0