Eu tenho esse estranho problema visto apenas no Windows 2008. No Windows 2003, estou correndo bem.
Meu programa C ++ chama um arquivo bat usando o comando system (). Dentro do arquivo de lote, ele chamará o comando wlbs. No entanto, ao executar o arquivo em lote do programa, vejo o seguinte erro:
'wlbs' não é reconhecido como um comando interno ou externo,
programa operável ou arquivo de lote.
Eu ecoei a variável de ambiente% PATH% e vejo que C: \ Windows \ System32 já está lá.
Se eu executar o arquivo em lote da mesma conta de usuário da qual estou iniciando o programa, na linha de comando, o arquivo em lote poderá chamar o comando com êxito. Eu já selecionei o programa para ser executado como Administrador, e minha sessão de login também é administrador.
Eu atualizei o arquivo em lote para a saída da listagem do diretório, como "dir C: \ Windows \ System32 \ *. exe > list.txt" e, surpreendentemente, no list.txt, foi possível listar outros exe exceto para o wlbs.exe (e eu suspeito que um monte de outros exe estavam faltando também), quando eu executar o arquivo em lotes do meu programa.
No entanto, quando executo o arquivo em lote a partir da linha de comando, consegui ver o arquivo wlbs.exe do list.txt gerado a partir de cima. Parece que o problema só acontece se o arquivo em lote foi chamado do programa.
Eu também tento atualizar a permissão de arquivo para C: \ Windows \ System32 \ wlbs.exe, mas as opções de atualização estão desabilitadas por padrão, apesar de eu estar logado como Administrador no sistema.
Qualquer ajuda sobre a questão acima será apreciada.