O arquivo existe, mas não é visível de outros programas [duplicado]

1

Eu tenho um arquivo .exe instalado em c: \ windows \ system32 (Win7) que não é visível para outros programas, exceto por aplicativos do Windows (Explorer, cmd, etc)

Eu posso executá-lo a partir de qualquer terminal cmd. No entanto, outros programas não podem abrir este arquivo. Eles não podem nem listá-lo em seus OpenFileDialogs. Eu também tentei executar este programa a partir do Python os.system () e recebi um "Arquivo não encontrado".

Normalmente, posso ver e executar outros programas localizados no mesmo diretório (por exemplo, PING.exe)

Tenho certeza de que o arquivo está lá. Este problema aconteceu em 3 computadores diferentes, todos executando o Windows 7.

O arquivo, neste caso, é o TFTP.exe, criado pela Microsoft.

As imagens a seguir mostram essa condição: 1 - Windows Explorer mostrando o arquivo existe em c: \ windows \ system32 2 - Abrir caixa de diálogo de arquivo, de depends.exe, não pode ver o arquivo no mesmo diretório

    
por Alex 13.04.2016 / 15:01

2 respostas

2

Ele pode não estar realmente lá, o Windows apenas simula você que ele está lá (e somente o Windows sabe disso, então outros programas não o encontram).

Procure por C:\Users\YourUserName\AppData\Local\VirtualStore\... .

Isso pode resolver seu problema; Se você quiser entender por que está lá, pesquise em Virtualização de arquivos e registros .

Em poucas palavras, por razões de controle de acesso, o Windows não permite que apenas todos os programas gravem nessa área, portanto, se um programa mais antigo precisar para gravar lá, ele redireciona o arquivo para o seu virtual armazenamento, mas simula continuamente que é onde você pensou que é.

    
por 13.04.2016 / 15:49
1

Recentemente me deparei com este mesmo problema e descobri o motivo.

Eu executei meu executável, que é compilado com x86 em um sistema operacional de 64 bits e, de fato, o arquivo não foi encontrado em nenhum executável, nem por abrir uma caixa de diálogo de arquivos, não procurando o arquivo no diretório .GetFiles () e não com File.Exists (). No entanto, ao compilar meu executável contra x64, o arquivo foi encontrado novamente com todos os métodos anteriores.

    
por 29.11.2017 / 13:55

Tags