O Windows XP leva muito tempo para falhar ao excluir um arquivo aberto

1

Não me entenda mal: excluir um arquivo é normalmente super rápido.

No entanto, se o arquivo estiver em uso, o Windows irá sufocá-lo por exatamente cinco segundos antes de exibir uma caixa de mensagem indicando falha (acesso negado).

Isso é inaceitável em alguns casos, sem mencionar o fato de que ele não informará qual arquivo está causando problemas. Por exemplo, se você precisar excluir uma pasta enorme e algum arquivo no fundo estiver bloqueando você, você provavelmente terá que ir em uma longa e chata busca para localizá-lo.

Alguém sabe por que o Windows XP leva tanto tempo para falhar? Se não, haveria uma maneira de fazê-lo falhar mais rapidamente ou, pelo menos, descobrir quais arquivos estão abertos e em quais programas?

    
por André Chalella 10.05.2012 / 15:13

2 respostas

1

Você pode usar os comandos del e rmdir para excluir arquivos de uma pasta ou pasta do cmd. Você pode forçar a exclusão e ignorar os erros.

del /S /F /Q *
rmdir /S /Q <dir>

Você pode usar um navegador de arquivos mais avançado que o Windows Explorer para excluir arquivos, como o Total Commander . É mais fácil de usar para várias seleções de arquivos e ações.

Em seguida, para os arquivos que não podem ser excluídos, você pode usar o ProcessExplorer (procexp.exe) do pacote SysInternals encontrado gratuitamente na Internet. Com o Ctrl + F , você pode procurar alças em arquivos e objetos específicos. Você acabou de digitar o caminho do arquivo que não pode ser excluído e obterá os processos que o acessam.

    
por 10.05.2012 / 15:33
1

Bem, descobri por que o Windows leva exatamente cinco segundos.

Eu lancei Process Monitor e linhas filtradas com o nome de um arquivo de teste que eu tentaria excluir ( winplot.exe - sorry scientists). Após o teste, o log me mostrou que o Windows XP tentou excluir o arquivo seis vezes, com um segundo entre cada tentativa. Você pode vê-lo claramente na primeira coluna abaixo:

18:02:37,59 Explorer.EXE QueryOpen                     D:\Documents and Settings\aneves\Desktop\winplot.exe SUCCESS
18:02:37,59 Explorer.EXE CreateFile                    D:\Documents and Settings\aneves\Desktop\winplot.exe SUCCESS
18:02:37,59 Explorer.EXE QueryAttributeTagFile         D:\Documents and Settings\aneves\Desktop\winplot.exe SUCCESS Attributes: N, ReparseTag: 0x0
18:02:37,59 Explorer.EXE SetDispositionInformationFile D:\Documents and Settings\aneves\Desktop\winplot.exe CANNOT DELETE Delete: True
18:02:37,59 Explorer.EXE CloseFile                     D:\Documents and Settings\aneves\Desktop\winplot.exe SUCCESS
18:02:38,59 Explorer.EXE QueryOpen                     D:\Documents and Settings\aneves\Desktop\winplot.exe SUCCESS
18:02:38,59 Explorer.EXE CreateFile                    D:\Documents and Settings\aneves\Desktop\winplot.exe SUCCESS
18:02:38,59 Explorer.EXE QueryAttributeTagFile         D:\Documents and Settings\aneves\Desktop\winplot.exe SUCCESS Attributes: N, ReparseTag: 0x0
18:02:38,59 Explorer.EXE SetDispositionInformationFile D:\Documents and Settings\aneves\Desktop\winplot.exe CANNOT DELETE Delete: True
18:02:38,59 Explorer.EXE CloseFile                     D:\Documents and Settings\aneves\Desktop\winplot.exe SUCCESS
18:02:39,59 Explorer.EXE QueryOpen                     D:\Documents and Settings\aneves\Desktop\winplot.exe SUCCESS
18:02:39,59 Explorer.EXE CreateFile                    D:\Documents and Settings\aneves\Desktop\winplot.exe SUCCESS
18:02:39,59 Explorer.EXE QueryAttributeTagFile         D:\Documents and Settings\aneves\Desktop\winplot.exe SUCCESS Attributes: N, ReparseTag: 0x0
18:02:39,59 Explorer.EXE SetDispositionInformationFile D:\Documents and Settings\aneves\Desktop\winplot.exe CANNOT DELETE Delete: True
18:02:39,59 Explorer.EXE CloseFile                     D:\Documents and Settings\aneves\Desktop\winplot.exe SUCCESS
18:02:40,59 Explorer.EXE QueryOpen                     D:\Documents and Settings\aneves\Desktop\winplot.exe SUCCESS
18:02:40,59 Explorer.EXE CreateFile                    D:\Documents and Settings\aneves\Desktop\winplot.exe SUCCESS
18:02:40,59 Explorer.EXE QueryAttributeTagFile         D:\Documents and Settings\aneves\Desktop\winplot.exe SUCCESS Attributes: N, ReparseTag: 0x0
18:02:40,59 Explorer.EXE SetDispositionInformationFile D:\Documents and Settings\aneves\Desktop\winplot.exe CANNOT DELETE Delete: True
18:02:40,59 Explorer.EXE CloseFile                     D:\Documents and Settings\aneves\Desktop\winplot.exe SUCCESS
18:02:41,59 Explorer.EXE QueryOpen                     D:\Documents and Settings\aneves\Desktop\winplot.exe SUCCESS
18:02:41,59 Explorer.EXE CreateFile                    D:\Documents and Settings\aneves\Desktop\winplot.exe SUCCESS
18:02:41,59 Explorer.EXE QueryAttributeTagFile         D:\Documents and Settings\aneves\Desktop\winplot.exe SUCCESS Attributes: N, ReparseTag: 0x0
18:02:41,59 Explorer.EXE SetDispositionInformationFile D:\Documents and Settings\aneves\Desktop\winplot.exe CANNOT DELETE Delete: True
18:02:41,59 Explorer.EXE CloseFile                     D:\Documents and Settings\aneves\Desktop\winplot.exe SUCCESS
18:02:42,59 Explorer.EXE QueryOpen                     D:\Documents and Settings\aneves\Desktop\winplot.exe SUCCESS
18:02:42,59 Explorer.EXE CreateFile                    D:\Documents and Settings\aneves\Desktop\winplot.exe SUCCESS
18:02:42,59 Explorer.EXE QueryAttributeTagFile         D:\Documents and Settings\aneves\Desktop\winplot.exe SUCCESS Attributes: N, ReparseTag: 0x0
18:02:42,59 Explorer.EXE SetDispositionInformationFile D:\Documents and Settings\aneves\Desktop\winplot.exe CANNOT DELETE Delete: True
18:02:42,59 Explorer.EXE CloseFile                     D:\Documents and Settings\aneves\Desktop\winplot.exe SUCCESS
18:02:42,59 Explorer.EXE CreateFile                    D:\Documents and Settings\aneves\Desktop\winplot.exe SUCCESS
18:02:42,59 Explorer.EXE QueryAttributeTagFile         D:\Documents and Settings\aneves\Desktop\winplot.exe SUCCESS Attributes: N, ReparseTag: 0x0
18:02:42,59 Explorer.EXE SetDispositionInformationFile D:\Documents and Settings\aneves\Desktop\winplot.exe CANNOT DELETE Delete: True
18:02:42,59 Explorer.EXE CloseFile                     D:\Documents and Settings\aneves\Desktop\winplot.exe SUCCESS
18:02:42,59 Explorer.EXE QueryOpen                     D:\Documents and Settings\aneves\Desktop\winplot.exe SUCCESS

Eu não sei o que fazer com essa escolha de programação, exceto pelo fato de parecer algo idiota à primeira vista - desculpe, Microsoft, estou sendo realmente sincero aqui.

* EDIT: para ser rigoroso, ele tenta apagar sete vezes, mas a última vez segue imediatamente a anterior

    
por 10.05.2012 / 18:35

Tags