Como excluo um arquivo que o Windows diz que não existe?

0

Este é um problema muito semelhante a este QA ( Como posso excluir um arquivo que "não existe" , exceto que eu estou em um computador totalmente Windows, enquanto o OP nessa pergunta foi SSHing para um NAS executando Linux.

Eu estava usando git com o GitKraken e estava realizando uma mesclagem que mais tarde abortei. Durante a mesclagem eu estava dividindo dois arquivos de dois commits na mesma ramificação e git (ou GitKraken - não sei bem quem era o responsável pelo arquivo, exatamente) criou dois arquivos no disco representando um arquivo conflitante de mesclagem, cada arquivo representa o estado do arquivo de cada commit.

Quando terminei, tentei apagar os arquivos (falha ao limpar depois de si) - um dos dois arquivos foi excluído com êxito, mas o outro arquivo não pode ser excluído.

  • Oarquivoexisteemumvolumelocal(umSSDSamsungPCI-ExpressNVMe)
  • OvolumeestáformatadocomoNTFS3.1executandooWindowsServer2016
  • OarquivoaparecenoWindowsExploreredir(vejaacapturadetelaacima)
  • AtentativadeexecutarqualqueroperaçãonoarquivonoWindowsExplorer,incluindoMover,Renomear,ExcluireShift+Excluir,resultanestamensagemdeerro:

    ItemNotFound
    Couldnotfindthisitem
    ThisisnolongerlocatedinC:\git\redacted\
    Verifytheitem'slocationandtryagain.

    DemoServiceClient.cs~WIP
    Type:File
    Size:8.35KB
    Datemodified:2017-12-1412:30

    [TryAgain][Cancel]

  • AcaixadediálogoPropriedadesdoarquivoestávazia:

  • A guia Segurança da caixa de diálogo Propriedades do arquivo diz:

    The requested security information is either unavailable or can't be displayed

  • O comprimento total do nome do arquivo é de 130 caracteres, bem dentro de MAX_PATH (260 caracteres)

  • O arquivo aparece em dir /a como um arquivo normal (ou seja, não um link NTFS ou ponto de nova análise):

     Directory of C:\git\redacted
    
    2017-12-14  12:36    <DIR>          .
    2017-12-14  12:36    <DIR>          ..
    2017-12-14  12:30             8,559 DemoServiceClient.cs~WIP.
                1 File(s)          8,559 bytes
                2 Dir(s)  223,416,360,960 bytes free
    
  • A execução de del DemoServiceClient.cs~WIP me dá este erro:

    Could Not Find C:\git\redacted\DemoServiceClient.cs~WIP'

  • chkdsk não informou problemas:

    Stage 1: Examining basic file system structure ...
      1140992 file records processed.
    File verification completed.
      19089 large file records processed.
      0 bad file records processed.
    
    Stage 2: Examining file name linkage ...
      1527444 index entries processed.
    Index verification completed.
      0 unindexed files scanned.
      0 unindexed files recovered to lost and found.
    
    Stage 3: Examining security descriptors ...
    Security descriptor verification completed.
      193227 data files processed.
    CHKDSK is verifying Usn Journal...
      34291080 USN bytes processed.
    Usn Journal verification completed.
    
    Windows has scanned the file system and found no problems.
    No further action is required.
    
     499526655 KB total disk space.
     290439980 KB in 856509 files.
        464848 KB in 193228 indexes.
             0 KB in bad sectors.
       1258155 KB in use by the system.
         65536 KB occupied by the log file.
     207363672 KB available on disk.
    
          4096 bytes in each allocation unit.
     124881663 total allocation units on disk.
      51840918 allocation units available on disk.
    
por Dai 15.12.2017 / 21:25

1 resposta

-1

Eu tive o mesmo problema e encontrei uma solução aqui .

Edit: Você terá que mover / renomear o arquivo em uma pasta que você pode excluir com a solução fornecida (ou verifique se você já pode excluir a pasta pai do arquivo).

Edit2: Eu também descobri que o NTFS (ou o próprio Windows) não gosta / permite que os nomes dos arquivos terminem com um ponto (ou um espaço). Tente remover o ponto do final do nome do arquivo (pode ser necessário fazer isso no CMD).

Aqui vai a resposta de Rayza73 para referência.
Eu tentei praticamente tudo o que ele fez, e também tentei renomear a pasta algumas vezes.

I had this same problem using Server 2012 Std. I tried various options of taking ownership of the parent folder because the Security properties of the folder I was trying to delete were blank, using CMD and Dir /x etc. I even tried sharing the parent folder and then using Server 2008 R2. None of them worked. When I tried Dir /x Server 2012 doesn't show the 8 character filename with the ~1. I tried typing it in myself, but that didn't work either. I then found that there was a space at the end of the folder name. I then tried all the CMD options again using a space, still no luck. Then I finally stumbled upon this solution:

Open CMD and then type:

rd /s "\?\D:\bad\folder\path "

example:

rd /s "\?\D:\Sharedata\folder1\folder2 "

note the space after folder2 as per the space in the folder name.
Obviously D: is the drive that has the folder on it.

No meu caso, não havia espaço no nome da pasta, apenas uma pasta teimosa deixada em uma execução com falha do Teracopy.
Mas minha pasta tinha várias pastas dentro dele que não puderam ser apagadas. Isso fez o truque.

Minha corrida foi: rd /s "\?\G:\Backups\MacMini\BADFOLDER"

Dica: você pode usar o TAB para preencher automaticamente os nomes das pastas em cmd .

    
por 23.07.2018 / 08:39

Tags