Force o programa (phraseexpress) para abrir o prompt de comando de 64 bits

0

A resposta para minha outra pergunta ( há um tempo atrás) foi que um programa que eu estava usando para executar um prompt de comando estava executando a versão de 32 bits, se o prompt cmd, em vez dos 64 bits.

(Caso você não veja a outra pergunta, estou usando o windows 7, 64 bits).

Isso ficou bom por um tempo, mas agora se tornou mais uma vez um incômodo.

Estou tentando abrir arquivos (arquivos em lote, neste caso) de qualquer diretório, apenas digitando seus nomes. Eu adicionei o diretório dos arquivos à variável PATH, para que isso funcione.

Agora, se eu abrir um prompt de cmd de 64 bits (Run- > cmd, por exemplo), as coisas funcionam perfeitamente: digitar "color-1" muda para a cor especificada no arquivo "color-1.bat" por exemplo.

No entanto, quando a versão de 32 bits é usada, acabo de receber uma mensagem "não reconhecida".

Então, eu preciso pegar esse programa para chamar a versão de 64 bits do prompt de comando O programa em questão é o PhraseExpress (sem espaço) e, na caixa de edição de macro eu tenho

{# run -file "C: \ windows \ system32 \ cmd.exe"}.

Note que eu especifiquei o caminho do arquivo cmd.exe que eu queria, em vez de apenas escrever      {# run -file cmd} na esperança de que realmente fosse para a versão de 64 bits, e não a de 32 bits, mas sem sorte: o processo de prompt de comando é sempre de 32 bits (verificado no gerenciador de tarefas).

Eu também tentei criar um arquivo em lotes que executa o cmd (o arquivo simplesmente tem "cmd" - não há citações - escritas nele) e, depois, chamei-o com o PhraseExpress, mas obtive o mesmo resultado. (o arquivo chama um prompt de comando de 64 bits quando clicado duas vezes, mas uma versão de 32 bits quando chamado com o PhraseExpress).

Neste momento, estou ficando sem ideias, então ... alguém pode pensar em alguma coisa?

    
por Sampaio 20.09.2013 / 00:46

1 resposta

1

Acho que você não tem seus arquivos em lote em um caminho compartilhado pelos dois ambientes de comando. A menos que o conteúdo do arquivo de lote seja específico de 64 bits, você deve procurar configurar o caminho em ambos os ambientes para que eles sejam executados em um dos dois, em vez de tentar enganar esse programa para usar o cmd.exe desejado.

Mas, para responder diretamente à sua pergunta ...

Como o system32 é redirecionado de forma transparente para o sysWOW64 para programas de 32 bits, eles adicionaram uma maneira de acessar a pasta system32 que é nativa da arquitetura do sistema (64 bits) - a pasta 'real' system32.

Portanto, tente referenciá-lo por meio de " sysnative ".

ou seja: {#run -file "%WINDIR%\sysnative\cmd.exe"}

    
por 20.09.2013 / 01:22