Não é possível executar o telnet no console aberto pelo Autohotkey

1

Eu habilitei o cliente telnet na minha máquina Windows 7 de 64 bits e, se eu abrir o menu Iniciar e iniciar o cmd, eu poderei executar o telnet.

Eu normalmente uso o atalho de teclado Win-C, implementado por este snippet AutoHotkey para abrir um console.

#c::Run, C:\WINDOWS\system32\cmd.exe

Por alguma estranha razão, quando eu tento rodar o telnet em uma janela do console aberta dessa maneira eu obtenho

Microsoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. All rights reserved.

C:\Users\Steve\Documents>telnet 'telnet' is not recognized as an internal or external command, operable program or batch file.

O caminho em execução em qualquer console, independentemente de como ele foi aberto, produz a mesma saída.

Alguém pode lançar alguma luz sobre o motivo pelo qual o telnet pode ser executado em um console, mas não no outro?

    
por Steve Crane 19.04.2012 / 14:42

5 respostas

1

Um snippet de código teria facilitado muito a publicação de uma solução!

Seu problema é que o comando de caminho rulez ainda se aplica ao DOS, mesmo quando executado no Windows.

Dê uma olhada mais de perto em seu caminho em cada ambiente mencionado, e a localização do programa telnet, e verifique se o processador de comandos encontrará o executável em cada caso. Você deve ser capaz de especificar o nome do caminho completo do nome do programa telnet no AHK, o que deve resolver o seu problema.

Como alternativa, insira um arquivo de lote chamado telnet.bat na sua pasta de documentos, que chama o programa de telnet real.

Não se esqueça, em ambos os casos, de passar telnet nos parâmetros de entrada da linha de comando, por exemplo: /telnet.exe% 0% 1, etc

    
por 01.07.2012 / 12:45
1

Parece que a solução para essa outra pergunta pode se aplicar diretamente ao seu cenário: telnet não executável .

Um shell de 32 bits pode não estar executando o cliente Telnet de 64 bits. Seu script AutoHotkey executa o CMD do diretório System32.

Tente executar o CMD diretamente no menu Iniciar. Veja se isso obtém resultados diferentes. Caso contrário, tente usar o WHERE (ambos no shell em que o Telnet funciona e o shell onde ele não funciona) e informe o PATH de ambos os casos. Isso simplificará muito a solução de problemas.

    
por 06.01.2015 / 04:02
1

Solução para este problema:

Em um sistema operacional de 64 bits, telnet.exe é usado no subdiretório '% windir% \ WinSXS' e não no subdiretório '% windir% \ System32' devido às configurações de ambiente padrão.

Para resolver o problema, selecione no compilador AHK a opção de 64 bits da lista para compilar o executável selecionado para executar o telnet.exe a partir do executável compilado do AHK, porque telnet.exe está listado como uma guia de processo de 64 bits na lista de tarefas. Executar o telnet.exe de 32 bits do subdiretório '% windir% \ System32' não será executado em um sistema operacional de 64 bits. O telnet.exe de 64 bits do '% windir% \ WinSXS' no modo de compatibilidade será interrompido se operado a partir de um sistema operacional de 64 bits.

    
por 11.01.2018 / 04:15
0

Eu desisti rapidamente de tentar descobrir o que causou este problema, pois não tinha necessidade urgente de fazê-lo. Consegui executar o telnet, mas não da maneira que inicialmente tentei. Mesmo quando eu corri, descobri que ele é menos útil que o telnet em uma máquina Linux virtual. A última vez que fiz uso do telnet (no Windows, de qualquer maneira) no XP e o telnet no Windows 7 parece ter dado um passo para trás daquele.

    
por 01.07.2012 / 22:23
-1

Atualização:

Você deve verificar se o telnet.exe está instalado corretamente.

Em uma instalação do Win7 de 64 bits, você pode encontrá-lo em um diretório chamado semelhante a este:

C: \ Windows \ winsxs \ amd64_microsoft-windows-telnet-client_31bf3856ad364e35_6.1.7600.16385_none_1426830c3ebb712d

Se não estiver presente, desinstale e reinstale-o.

    
por 01.07.2012 / 12:59