Por que o rmdir / s falharia, mas ainda excluiria o subdiretório mais interno? [duplicado]

1

Eu tinha uma estrutura de diretório (src / ...) criada pelo 7za.exe do Cygwin. Em um prompt de comando, executei rmdir /s /q src .

Isso resultou em mensagens de erro (parafraseando como meu shell do DOS há muito transbordou):

Cannot delete src/test/unit/geom

The directory is not empty

A navegação para src/test/unit/geom mostrou que estava realmente vazia, então executei o mesmo comando rmdir novamente. Mesmo erro, mas apontando para src/test/unit . E minha janela do Explorer que mostrava a ausência de conteúdo em src/test/unit/geom caiu para src/test/unit .

Três execuções de rmdir depois, desapareceu completamente.

Este é o Windows 7 e set CYGWIN=nontsec foi executado. Acredito que esta tenha sido a fonte de problemas de construção já há algum tempo, mas até agora não havia identificado o culpado.

O que posso fazer para evitar isso no futuro? Se isso acontecer novamente, o que devo procurar em termos de identificar os aspectos corruptos da estrutura de diretórios?

    
por Raven 31.10.2011 / 23:09

1 resposta

1

Se você conseguir reproduzir o problema, tente usar Sysinternals ProcMon (ou FileMon) para ver o que está acontecendo debaixo das cobertas. Já faz um tempo que eu não vejo essas coisas, mas o IIRC, o cygwin realiza algumas etapas sofisticadas para replicar a semântica do Unix e os resultados nem sempre são perfeitos.

    
por 01.11.2011 / 00:52