Telnet无法从Windows 7中的cmd提示符运行


11

编辑:我正在运行Windows 7、64位。

我已经安装了Telnet Client,如果我转到c:\ windows \ system32,我确实找到了文件“ telnet.exe”;如果单击它,则telnet可以完美运行。

但是,如果我在cmd提示符下键入telnet,则会显示“命令无法识别”消息。

认为这是因为c:\ windows \ system32 \ cmd.exe实际上是从windows \ sysWOW64(也具有cmd.exe)运行文件,因此我尝试将telnet.exe复制到此文件夹;当我在cmd行中键入telnet时(无论我使用哪个cmd.exe),我都不再收到错误消息,而是得到……好吧,什么也没有。它只是坐在那里,就像在等待输入时一样,但是如果我键入一些内容(例如“退出”),它将再次不执行任何操作并等待输入。

最后,我尝试在Windows \ sysWOW64中删除telnet.exe,在system32中创建telnet.exe的telnet.lnk快捷方式,并在运行telnet.lnk的Windows \ sysWOW64中创建telnet.bat文件。现在,如果我双击telnet.bat,则telnet可以完美启动(在system32 \ cmd.exe窗口中);如果我在cmd提示符下再次键入telnet(同样,不要紧),它将运行telnet.bat,而根本没有问题(选中此测试其他命令),但是在打开Telnet.lnk时返回“ Acess拒绝”。

所以,

-telnet 安装并在双击时运行

-双击快捷方式即可正常使用

-telnet和快捷方式(也没有文件调用快捷方式)不能从任何 cmd提示符下运行。

那就是我走了多远。是的,有什么想法吗?


3
您的PATH目录是否包含System32文件夹?如果可以的话,这条道路与其他东西真的真的很长吗?我个人遇到过长路径会导致问题的问题。
Scott Chamberlain

变量“ Path”包含%SystemRoot%\ System32以及其他一些目录,以“;”分隔。(例如:%SystemRoot%;%SystemRoot%\ System32; C:\ Program Files(x86)\ Common Files \ Ulead Systems \ MPEG; etc。)希望这能有所帮助。
Sampaio

哪个目录首先出现在您的路径中?system32或syswow64?PATH中包含您指定名称的exe的第一个元素应该是执行的实例。
弗兰克·托马斯

在这两个中,第一个是system32,因为根本没有syswow64。绝对第一个是某些“ Windows Live”目录,其中system32是列出的第二个目录
Sampaio 2013年

1
什么where telnet.exe发言权?我刚刚在Windows功能下启用了Telnet客户端。Telnet.exe,一个64位程序,已被适当地添加到Windows \ System32。在Windows \ SysWOW64中找不到32位版本。telnet在cmd提示符下键入按预期效果很好。不知道问题出在哪里。
卡兰2013年

Answers:


8

看起来在Win7 64位上,telnet.exe是64位命令。您可以从64位外壳程序(或cmd提示符)运行它,但是32位外壳程序将尝试从SysWOW64加载它,并且在那里找不到它。

我怀疑您正在运行32位命令提示符(例如,从SysWOW64)。如果运行64位命令提示符,则telnet应该可以工作。

您可以通过以下方法进行测试:转到“开始”菜单>“运行”,cmd在此命令提示符下键入然后运行telnet。

您如何启动命令提示符?如果是链接,请查看属性。如果它来自另一个程序,并且该程序是32位,则可能是问题所在。


我已经检查过它是从system32命令提示符运行。我已经通过运行运行,键入cmd来启动它,实际上我已经通过双击从system32文件夹中启动了它。就像我在问题中说的那样,我尝试在两个命令提示符下键入“ telnet”:从system32和syswow64目录。无论我选择哪一种,由于某种原因,它都会在syswow64中查找文件。
桑帕约

1
您正在描述的行为是运行32位命令提示符时看到的内容。运行cmd.exe,然后转到任务管理器,然后单击“进程”选项卡。按映像名称排序(单击“映像名称”列),然后查看所有cmd.exe进程。他们*32旁边有没有人?
jdigital

好主意。我检查了一下,在该过程旁边确实存在* 32。但是,在实际的命令属性窗口中,路径为system32 \ cmd.exe。嗯... 编辑:有时该进程没有* 32,在这种情况下telnet可以正常工作。因此,我认为问题是,为什么有时会调用32位cmd.exe,以及为什么32位cmd.exe在控制台窗口上显示为具有路径system32 \ cmd.exe
Sampaio

在32位进程中,它system32被重新映射到SysWOW64,因此您不能在system32\cmd.exe不知道调用它的进程类型的情况下依赖该路径。关于为什么要调用32位cmd.exe,这是如何调用它的结果。您能否提供更多详细信息?
jdigital

2
从32位cmd,您可以运行%SystemRoot%\Sysnative\telnet以获取64位telnet
phuclv,

2

意识到这篇文章(非常!)很晚,但是遇到了同样的问题。通过复制C:\windows\system32\en-us\telnet.exe.mui到中的相应文件夹来解决该问题syswow64。希望这可以在将来帮助其他人。


嘿,谢谢你的回答。如果那行得通,那就迟到总比没有好!我不再拥有使用的PC,坦率地说,我什至不记得当时我在做什么(或试图做)。也许是我尝试复制时缺少的文件。我会给您+1,以便其他人可以轻松找到。
Sampaio

0

我做了一件非常简单的事情,一切都对我有用,只需从system32复制Telnet.exe并将其粘贴到SysWOW64中,然后运行在SysWOW64目录中令人兴奋的cmd.exe,一切都可以正常工作..希望它对您有用。 ...


0

症状 在Windows Vista和Windows 7上,使用Cortex-A8 RTSM或FVP平台启动调试配置可能会出现以下错误:Windows找不到'c:\ windows \ system32 \ telnet.exe原因原因DS-5调试器使用的telnet功能您的计算机通过与RTSM和FVP的串行连接进行调试会话。当您尝试从调试器连接到RTSM和FVP并且禁用telnet客户端时,会发生此错误。在Windows Vista和Windows 7上,默认情况下不启用telnet客户端。

解决方案 在计算机上启用telnet客户端,然后重新启动调试会话。要在Windows Vista和Windows 7上启用telnet客户端,请执行以下操作:

从Windows“开始”菜单中打开“控制面板”。

选择程序。

在“程序和功能”下,单击“打开或关闭Windows功能”。

从出现的列表中,选择“ Telnet客户端”复选框以启用telnet。

单击“确定”关闭对话框。


请仔细阅读问题。您的答案没有回答原始问题。OP已安装telnet。
DavidPostill
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.