|
Postada em 19/06/2006 10:51 hs
Bom Dia ! Gostaria de saber se alguém conhece uma maneira de renomear ou excluir um arquivo texto que está sendo usado por outro aplicativo. Eu uso o Hiper Terminal para capturar dados de um termostato. A leitura do termostato é feita a cada 15mim, eu preciso pegar os dados do arquivo texto e transferir para o banco de dados, só que o arquivo fica aberto permanente.
|
|
|
|
|
Postada em 19/06/2006 11:07 hs
use esta dica para renomear: e para excluir use a função: kill "c:omearquivo.txt" qq dúvida é só postar t+
|
|
|
|
Postada em 19/06/2006 20:04 hs
Olá, infelizmente não há o que fazer. O Sistema Operacional protege arquivos que estão em uso, não permitindo que estes sejam apagados ou renomeados. Talvez seja mais prático apagar o conteúdo dele ao invés do arquivo em si. Um abraço, Sandro.
|
|
|
|
Postada em 20/06/2006 01:12 hs
Olá a todos... Permita-me discordar Sandro, há uma exceção...o Sistema Operacional realmente protege arquivos em uso mas não no caso de arquivos textos (usando SO WinXP,não sei se outros). Eu mesmo gravava um arquivo texto a cada intervalo de tempo (décimos de segundo) e o renomeava sem problema. O q vai acontecer é que como ele está gravando o arquivo teste1.txt a cada intervalo de tempo, na hora de renomeá-lo outro arquivo será criado. Digamos q ele renomeie para teste2.txt então existirão 2 arquivos: teste1.txt e teste2.txt t+
|
|
|
|
Postada em 20/06/2006 09:58 hs
Obrigado a todos pelas respostas. ghost_jlp, eu tentei as duas maneiras que vc me informou e não consegui, o sistema não permite que seja feito alterações, e informa uma msg dizendo "ACESSO NEGADO", o que eu devo estar fazendo de errado. Tentei também inserir um objeto Data mas não consigo zerar o arquivo.
|
|
|
|
Postada em 20/06/2006 14:18 hs
Opa, ... seguinte... eu consegui fazer mas não foi com o hiper terminal. Tb já acessei arquivos usados por outros programas e acessei normalmente... ao q parece o tratamento destes arquivos é diferente do hiper terminal. Comparei e cheguei a conclusão q estou errado e o Sandro está correto. Esses programas q geravam o arquivo texto e provavelmente assim q gravavam já fechavam o arquivo e eu podia renomeá-los ou gravar dados dentro deles. Com o hiper terminal ele não faz isso de tempos em tempos, simplesmente deixa aberto. Então eu errei e vcs estão corretos ok?  Bom, no seu caso faria um cópia do arquivo e depois abriria a cópia q vc gerou... ae vc pega o conteúdo...porém, nos testes q fiz nem com o filecopy ele permitiu o acesso ao arquivo... vc pode tentar ae: FileCopy "C:Arq1.txt", "c:Arq2.txt" Sendo Arq1.txt o arquivo q está sendo usado pelo Hiper Terminal Então eu fiz o código abaixo para q copie e assim deu certo: Open "c:Copia.bat" For Output As #iArq Print #iArq, "Copy c:Arq1.txt c:Arq2.txt" Close #iArq Shell "c:Copia.bat" Eu crio um arquivo bat e coloco o comando para copiar o arquivo dentro dele e executo logo em seguida, ae vc pode copiar a partir do novo arquivo gerado... Ae funcionou... Tenta e veja se dá certo... qq coisa é só postar Mais uma vez desculpa o equívoco :) t+
|
|
|