Quero renomear programaticamente um arquivo e ele pode ser aberto. É um arquivo de log. Quando eu estava testando meu código, a parte de renomeação não funcionou porque o arquivo de log TestPro.log foi aberto pelo TAF (Test Automation Framework).
Quando o TestPro está em execução e tento excluir o arquivo, recebo o erro"Não é possível excluir porque está sendo usado por outra pessoa ou programa."
Existe alguma maneira de renomear um arquivo (programaticamente) que está aberto da mesma forma que o arquivo de log?
Responder1
A solução é usar a versão de linha de comando dodestravadorantes de mover/remover o arquivo.
Responder2
O melhor éMover arquivodeSysinternals.
Responder3
Eu espero que vocêencontre respostas aqui:
Existem vários motivos pelos quais o Windows pode não permitir a exclusão de um arquivo:
- O arquivo pode estar em uso e, nesse caso, você não poderá excluí-lo até que o programa que o utiliza o desista.
- O arquivo pode estar marcado como somente leitura.
- O nome do arquivo pode ser tão longo que o Windows não consegue lidar com ele. Nomes de arquivos com mais de 260 caracteres costumam ser difíceis de excluir.
Existem também vários motivos pelos quais o Windows pode não permitir a alteração do nome de um arquivo; especialmente a sua extensão. Tudo acima se aplica aqui; assim como...
Seu sistema pode não mostrar extensões de arquivo por padrão.
Abordaremos esse primeiro e os outros por sua vez.
[…]
Às vezes, você não consegue excluir um arquivo ou pasta, não importa o que faça. Neste caso, existem alguns programas que podem ajudá-lo.
- MoveOnBoot
- Excluir arquivos FXP
- Delinv
- destravador
Se, depois de tudo isso, você ainda não conseguir renomear/excluir um arquivo, não tenho certeza do que mais sugerir. Outros têm esse problema com frequência e, como ideias diferentes podem surgir no fórum FILExt, alterarei este FAQ para incluí-las. Se você encontrar um método que funcione para você e não esteja neste FAQ, envie uma nota ao FILExt com detalhes sobre esse método para que ele possa ser adicionado ao FAQ.