Telnet non verrà eseguito dal prompt di cmd in Windows 7


11

Modifica: sto eseguendo Windows 7, 64 bit.

Ho installato Telnet Client e se vado in c: \ windows \ system32 trovo il file "telnet.exe"; se lo faccio clic, Telnet funziona perfettamente.

Tuttavia, se digito telnet nel prompt di cmd, mi dà il messaggio "comando non riconosciuto".

Penso che sia perché c: \ windows \ system32 \ cmd.exe in realtà sta eseguendo file da windows \ sysWOW64 (che ha anche un cmd.exe), e quindi ho provato a copiare telnet.exe in questa cartella; Quando scrivo telnet nella riga cmd (indipendentemente da quale cmd.exe utilizzo) non ricevo più un messaggio di errore e invece ottengo ... beh, niente. Si trova lì, come in attesa di input, ma se scrivo qualcosa (ad esempio, "esci"), ancora una volta non fa nulla e attende input.

Infine, ho provato, in Windows \ sysWOW64, l'eliminazione di telnet.exe, la creazione di un collegamento telnet.lnk a telnet.exe in system32 e la creazione di un file telnet.bat in windows \ sysWOW64, che esegue telnet.lnk. Ora, se faccio doppio clic su telnet.bat, telnet si avvia perfettamente (in una finestra system32 \ cmd.exe); se scrivo telnet nel prompt di cmd (di nuovo, non importa quale) esegue telnet.bat senza problemi (ho verificato questo test altri comandi), ma restituisce "Accesso negato" quando apro Telnet.lnk.

Così,

- telnet è installato e funziona quando si fa doppio clic

- le scorciatoie funzionano perfettamente se si fa doppio clic

- né telnet né scorciatoie (né file di chiamata scorciatoie) possono essere eseguiti da entrambi i prompt di cmd.

E questo è quanto sono andato lontano. Quindi sì ... Qualche idea?


3
La tua directory PATH contiene la cartella System32? In tal caso, il percorso è davvero lungo anche con altre cose? Personalmente ho avuto problemi in cui un percorso troppo lungo può causare problemi.
Scott Chamberlain,

La variabile "Percorso" contiene% SystemRoot% \ System32, insieme ad alcune altre directory, separate da ';'. (Esempio:% SystemRoot%;% SystemRoot% \ System32; C: \ Programmi (x86) \ File comuni \ Ulead Systems \ MPEG; ecc.) Spero che questo aiuti.
Sampaio,

quale directory si trova prima nel tuo percorso? system32 o syswow64? il primo elemento in PATH che contiene un exe con il nome specificato dovrebbe essere l'istanza eseguita.
Frank Thomas,

Da quei due, il primo sarebbe system32, dal momento che syswow64 non c'è affatto. Il primo assoluto è una directory "Windows Live", con system32 che è la seconda directory elencata
Sampaio,

1
Cosa where telnet.exedice? Ho appena abilitato il client Telnet in Funzionalità Windows. Telnet.exe, un programma a 64 bit, è stato debitamente aggiunto a Windows \ System32. Nessuna versione a 32 bit era disponibile in Windows \ SysWOW64. Digitando telnetal prompt di cmd ha funzionato perfettamente come previsto. Non so quale sia il problema alla tua fine.
Karan,

Risposte:


8

Sembra che su Win7 64 bit, telnet.exe sia un comando a 64 bit. È possibile eseguirlo dalla shell a 64 bit (o dal prompt cmd), ma una shell a 32 bit tenterà di caricarlo da SysWOW64 e non verrà trovato lì.

Sospetto che tu stia eseguendo un prompt dei comandi a 32 bit (ad esempio, da SysWOW64). Se si esegue il prompt dei comandi a 64 bit, telnet dovrebbe funzionare.

Puoi testarlo andando su Menu Start> Esegui, digita cmde quindi esegui telnet da questo prompt dei comandi.

Come si avvia il prompt dei comandi? Se è un collegamento, dai un'occhiata alle proprietà. Se proviene da un altro programma e quel programma è a 32 bit, questo potrebbe essere il problema.


Ho verificato che sta eseguendo il prompt dei comandi da system32. L'ho avviato con Esegui, digitando cmd, l'ho effettivamente avviato dalla cartella system32, facendo doppio clic. Come ho detto nella domanda, ho provato a digitare "telnet" in entrambi i prompt dei comandi: dalle directory system32 e syswow64. Indipendentemente da quale scelgo, cerca i file in syswow64, per qualche motivo.
Sampaio,

1
Il comportamento che stai descrivendo è quello che vedresti se esegui un prompt dei comandi a 32 bit. Esegui cmd.exe, quindi vai a Task Manager e fai clic sulla scheda Processi. Ordina per Nome immagine (fai clic sulla colonna Nome immagine) e osserva tutti i processi cmd.exe. Qualcuno di loro ha *32accanto a loro?
jdigital,

Buona idea. Ho controllato e in effetti c'è * 32 accanto al processo. Tuttavia, nella finestra del prompt dei comandi effettiva, il percorso è system32 \ cmd.exe. Uhm ... Modifica: alcune volte il processo non ha * 32, nel qual caso telnet funziona bene. Quindi, la domanda, credo, è perché a volte viene chiamato 32 bit cmd.exe e perché 32 bit cmd.exe sembra avere il percorso system32 \ cmd.exe, nella finestra della console
Sampaio,

In un processo a 32 bit, system32viene rimappato SysWOW64, quindi non è possibile fare affidamento sul percorso system32\cmd.exesenza conoscere il tipo di processo che lo ha invocato. Per quanto riguarda il motivo per cui viene chiamato cmd.exe a 32 bit, questo è il risultato di come viene invocato. Potete fornire maggiori dettagli?
jdigital,

2
da un cmd a 32 bit è possibile eseguire %SystemRoot%\Sysnative\telnetper ottenere il telnet a 64 bit
phuclv

2

Realizza che questo post è (molto!) In ritardo ma ha avuto gli stessi problemi. È stato risolto copiando anche C:\windows\system32\en-us\telnet.exe.muila cartella corrispondente in syswow64. Spero che questo aiuti qualcun altro in futuro.


Ehi, grazie per la risposta. Se funziona, meglio tardi che mai! Non ho più il PC che stavo usando e sinceramente non ricordo nemmeno cosa stavo facendo (o provando a fare) in quel momento. Forse quel file era quello che mancava quando ho provato a copiare. Ti darò +1 in modo che altri possano trovarlo facilmente.
Sampaio,

0

Ho fatto una cosa molto semplice e tutto ha funzionato per me, basta copiare Telnet.exe da system32 e incollarlo in SysWOW64 ed eseguire il cmd.exe che eccita nella directory di SysWOW64 e tutto ha funzionato perfettamente .. spero che funzionerà per te. ...


0

SINTOMO Su Windows Vista e Windows 7, l'avvio di una configurazione di debug con piattaforma come Cortex-A8 RTSM o FVP può dare il seguente errore: Windows non riesce a trovare 'c: \ windows \ system32 \ telnet.exe CAUSA Il debugger DS-5 utilizza le funzionalità telnet di il computer per una sessione di debug tramite connessione seriale a RTSM e FVP. Questo errore si verifica quando si tenta di connettersi a RTSM e FVP dal debugger e il client Telnet è disabilitato. Il client Telnet non è abilitato per impostazione predefinita su Windows Vista e Windows 7.

RISOLUZIONE Abilitare il client Telnet sul computer e riavviare la sessione di debug. Per abilitare il client Telnet su Windows Vista e Windows 7:

Apri il Pannello di controllo dal menu Start di Windows.

Seleziona programmi.

In Programmi e funzionalità, fai clic su Attiva o disattiva funzionalità di Windows.

Dall'elenco visualizzato, selezionare la casella di controllo Client Telnet per abilitare Telnet.

Fai clic su OK per chiudere la finestra di dialogo.


Si prega di leggere di nuovo attentamente la domanda. La tua risposta non risponde alla domanda originale. OP ha già installato telnet.
DavidPostill
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.