cmder não pode executar o Contig com parâmetros

cmder não pode executar o Contig com parâmetros

Quero substituir o cmd padrão pelo cmder, mas o cmder não consegue executar o Contig para desfragmentar minhas pastas usadas com frequência no disco rígido. O comando Contig.exe -v -s E:\WarThunderfunciona bem no cmd, mas apenas exibe o menu de ajuda no cmder (como analisar parâmetros errados).

Como posso consertar isso. Qualquer ideia é bem vinda

Responder1

Contig.exe (das ferramentas SysInternal) possui um bug grave: não detecta a presença de links simbólicos (ou junções de diretório) e de volumes montados. Em alguns casos, o arquivo de destino (ou diretório de destino para junções de direção) pode nem existir e, nesses casos, ele travará ao não conseguir obter suas extensões, gerando um dump no diretório Crashdump do usuário atual.

Por padrão, Contig.exe não deve seguir o destino de nenhum link simbólico, ou o destino de qualquer junção de diretório, ou o destino se for um ponto de montagem. Em vez disso, basta analisar/desfragmentar o link ou junção ou o próprio ponto de montagem.

  • Se alguém quiser analisar/desfragmentar o alvo de um link ou junção simbólica, deve haver uma opção "-f" adicional para permitir o seguimento de tais redirecionamentos. Essa opção deve estar desativada por padrão.
  • Se alguém quiser analisar/desfragmentar o alvo de um ponto de montagem, deverá haver uma opção "-m" adicional para permitir visitá-los. Essa opção deve estar desativada por padrão.
  • se as opções "-f" ou "-m" forem usadas junto com "-s" (que recorre a subdiretórios), o contig.exe deve rastrear o caminho visitado, mantendo o ID do volume e o ID do arquivo de cada diretório visitado, e NUNCA revisitar os mesmos nós ainda mais (para evitar loops de recursão infinitos no mesmo diretório pai visitado já presente na pilha).

Esse bug semelhante foi parcialmente resolvido para a ferramenta de linha de comando ATTRIB.EXE (com sua opção "/L" quando usada com "/S" para subdiretórios recorrentes), mas ainda persiste quando há volumes montados em um ponto de montagem. Para a ferramenta ICACLS.exe, aparentemente isso é tratado corretamente (ela nunca visita os alvos dos links, mas apenas o próprio link), porém ainda tem um problema com pontos de montagem (para um volume diferente, possivelmente em um VHDX, ou para outro diretório do volume atual).

Esses bugs afetam outras ferramentas, principalmente ferramentas de backup/restauração (incluindo o backup herdado do "Windows 7" ainda presente no Windows 8/8.1/10/11, que também pode falhar na criação correta e bem-sucedida de um backup baseado em arquivo, incluindo vários símbolos links ou junções que estão presentes por padrão nos perfis de usuário, mas apenas marcados com um atributo herdado "oculto" ou se não forem explicitamente excluídos da lista de subdiretórios para NÃO fazer backup/restauração)

O Windows ainda não foi totalmente testado quanto ao suporte correto completo e eficaz de links simbólicos (incluindo "junções de diretório" em NTFS). Links físicos (suportados em NTFS entre arquivos/diretórios no mesmo volume) também podem ser um problema onde a recursão infinita é possível. O Windows ainda assume em muitos lugares o comportamento de sistemas de arquivos FAT legados, onde qualquer arquivo ou diretório só pode ser acessado a partir de um caminho único; mas vamos lembrar que links simbólicos e pontos de montagem (para diretórios) existem há muito tempo (eles existiam no IBM-DOS, MS-DOS ou DR-DOS, e dentro de vários extensores DOS, em volumes FAT montados ou volumes de rede montados, muito antes as primeiras versões de 16 bits do Windows!).

Pode ser que esse bug do Contig.exe (e alguns de seus privilégios administrativos e sua "verificação de licença" interna que pode abrir uma caixa de diálogo de contrato) possa fazer com que o "cmder" se recuse a usar o Contig.exe (que não é apenas uma ferramenta de linha de comando, pois é deve ser capaz de usar a área de trabalho do Windows e não apenas os fluxos de E/S padrão)

informação relacionada