Telnet sẽ không chạy từ dấu nhắc cmd trong windows 7


11

Chỉnh sửa: Tôi đang chạy windows 7, 64 bit.

Tôi đã cài đặt Telnet Client và nếu tôi truy cập c: \ windows \ system32 tôi sẽ tìm thấy tệp "telnet.exe"; Nếu tôi nhấp vào nó, telnet chạy hoàn hảo.

Tuy nhiên, nếu tôi gõ telnet trong dấu nhắc cmd, nó sẽ cho tôi thông báo "lệnh không được nhận dạng".

Tôi nghĩ đó là vì c: \ windows \ system32 \ cmd.exe thực sự đang chạy các tệp từ windows \ sysWOW64 (cũng có cmd.exe), vì vậy tôi đã thử sao chép telnet.exe vào thư mục này; Khi tôi gõ telnet trong dòng cmd (bất kể tôi sử dụng cmd.exe nào), tôi không còn nhận được thông báo lỗi nữa, và thay vào đó nhận được ... tốt, không có gì. Nó chỉ nằm ở đó, giống như khi chờ nhập liệu, nhưng nếu tôi gõ một cái gì đó (ví dụ: "thoát") thì nó lại không làm gì cả và chờ đợi đầu vào.

Cuối cùng, tôi đã thử, trong windows \ sysWOW64, xóa telnet.exe, tạo lối tắt telnet.lnk sang telnet.exe trong system32 và tạo tệp telnet.bat trong windows \ sysWOW64, chạy telnet.lnk. Bây giờ, nếu tôi nhấp đúp vào telnet.bat, telnet sẽ khởi động hoàn hảo (trong cửa sổ system32 \ cmd.exe); nếu tôi gõ telnet trong dấu nhắc cmd (một lần nữa, không vấn đề gì) thì nó chạy telnet.bat vì không có vấn đề gì cả (đã kiểm tra lệnh này kiểm tra các lệnh khác), nhưng trả về "Acess bị từ chối" khi mở Telnet.lnk.

Vì thế,

- telnet được cài đặt và chạy khi nhấp đúp

- các phím tắt để nó hoạt động hoàn hảo nếu nhấp đúp

- không phải telnet hay phím tắt (hay file gọi phím tắt) có thể chạy từ một trong hai cmd nhắc.

Và đó là bao xa tôi đã đi. Vì vậy, yeah ... Có ý tưởng nào không?


3
Thư mục PATH của bạn có chứa thư mục System32 không? Nếu có, con đường có thực sự dài với những thứ khác không? Cá nhân tôi đã có vấn đề trong đó một con đường quá dài có thể gây ra vấn đề.
Scott Chamberlain

Biến "Đường dẫn" chứa% SystemRoot% \ System32, cùng với một vài thư mục khác, được phân tách bằng ';'. (Ví dụ:% SystemRoot%;% SystemRoot% \ System32; C: \ Program Files (x86) \ Common Files \ Ulead Systems \ MPEG; v.v.) Hy vọng điều này sẽ giúp ích.
Sampaio

thư mục nào xảy ra trong đường dẫn của bạn đầu tiên? system32 hay syswow64? phần tử đầu tiên trong PATH chứa exe với tên bạn chỉ định sẽ là thể hiện được thực thi.
Frank Thomas

Từ hai cái đó, cái đầu tiên sẽ là system32, vì syswow64 hoàn toàn không có. Đầu tiên tuyệt đối là một số thư mục "Windows Live", với system32 là thư mục thứ hai được liệt kê
Sampaio

1
where telnet.exenói gì Tôi vừa kích hoạt Máy khách Telnet trong Tính năng của Windows. Telnet.exe, một chương trình 64 bit, đã được thêm hợp lệ vào Windows \ System32. Không tìm thấy phiên bản 32 bit nào trong Windows \ SysWOW64. Gõ telnettại dấu nhắc cmd hoạt động hoàn hảo như mong đợi. Không biết vấn đề là gì ở cuối của bạn.
Karan

Câu trả lời:


8

Dường như trên Win7 64 bit, telnet.exe là lệnh 64 bit. Bạn có thể chạy nó từ shell 64 bit (hoặc dấu nhắc cmd), nhưng shell 32 bit sẽ cố tải nó từ SysWOW64, và nó sẽ không được tìm thấy ở đó.

Tôi nghi ngờ rằng bạn đang chạy một dấu nhắc lệnh 32 bit (ví dụ: từ SysWOW64). Nếu bạn chạy dấu nhắc lệnh 64 bit, telnet sẽ hoạt động.

Bạn có thể kiểm tra điều này bằng cách vào Start Menu> Run, gõ cmdvà sau đó chạy telnet từ dấu nhắc lệnh này.

Làm thế nào bạn bắt đầu nhắc lệnh của bạn? Nếu đó là một liên kết, hãy xem các thuộc tính. Nếu nó từ một chương trình khác và chương trình đó là 32 bit, thì đó có thể là vấn đề.


Tôi đã kiểm tra nó là runnig dấu nhắc lệnh từ system32. Tôi đã khởi động nó với Run, gõ cmd, tôi thực sự đã khởi động nó từ thư mục system32, bằng cách nhấp đúp. Giống như tôi đã nói trong câu hỏi, tôi đã thử gõ "telnet" trong cả hai dấu nhắc lệnh: từ thư mục system32 và syswow64. Bất kể tôi chọn loại nào, nó sẽ tìm các tệp trong syswow64, vì một số lý do.
Sampaio

1
Hành vi bạn mô tả là những gì bạn thấy nếu chạy dấu nhắc lệnh 32 bit. Chạy cmd.exe, sau đó đi đến Trình quản lý tác vụ và nhấp vào tab Quy trình. Sắp xếp theo Tên hình ảnh (nhấp vào cột Tên hình ảnh) và xem tất cả các quy trình cmd.exe. Có ai trong số họ có *32bên cạnh họ?
jdigital

Ý tưởng tốt. Tôi đã kiểm tra, và thực sự có * 32 bên cạnh quá trình. Tuy nhiên, trong cửa sổ propt lệnh thực tế, đường dẫn là system32 \ cmd.exe. Uhm ... Chỉnh sửa: Đôi khi quá trình không có * 32, trong trường hợp telnet hoạt động tốt. Vì vậy, câu hỏi, tôi tin, là tại sao đôi khi 32dits cmd.exe được gọi và tại sao 32bits cmd.exe xuất hiện khi có đường dẫn system32 \ cmd.exe, trên cửa sổ giao diện điều khiển
Sampaio

Trong quy trình 32 bit, system32được ánh xạ lại SysWOW64, vì vậy bạn không thể dựa vào đường dẫn system32\cmd.exemà không biết loại quy trình đã gọi nó. Về lý do tại sao cmd.exe 32 bit được gọi, đây là kết quả của cách nó được gọi. Bạn có thể cung cấp chi tiết hơn?
jdigital

2
từ một cmd 32 bit, bạn có thể chạy %SystemRoot%\Sysnative\telnetđể có được telnet 64 bit
phuclv

2

Nhận ra bài đăng này là (rất!) Muộn nhưng chỉ có vấn đề tương tự. Đã giải quyết nó bằng cách sao chép C:\windows\system32\en-us\telnet.exe.muivào thư mục tương ứng syswow64. Hy vọng điều này sẽ giúp người khác trong tương lai.


Này, cảm ơn vì câu trả lời. Nếu điều đó làm việc, muộn còn hơn không! Tôi không còn có PC mà tôi đang sử dụng, và thật lòng tôi thậm chí không nhớ những gì tôi đang làm (hoặc cố gắng làm) vào lúc đó. Có lẽ tập tin đó là những gì còn thiếu khi tôi cố gắng sao chép. Tôi sẽ cung cấp cho bạn +1 để những người khác có thể tìm thấy điều này một cách dễ dàng.
Sampaio

0

Tôi đã làm một việc rất đơn giản và mọi thứ đều có hiệu quả với tôi, chỉ cần sao chép Telnet.exe từ system32 và dán nó vào SysWOW64 và chạy cmd.exe kích thích trong SysWOW64 Directory và mọi thứ đều hoạt động hoàn hảo .. hy vọng nó sẽ hoạt động tốt cho bạn. ...


0

TRIỆU CHỨNG Trên Windows Vista và Windows 7, khởi chạy cấu hình gỡ lỗi với nền tảng là Cortex-A8 RTSM hoặc FVP có thể gây ra lỗi sau: Windows không thể tìm thấy 'c: \ windows \ system32 \ telnet.exe CAUSE DS-5 Debugger sử dụng khả năng telnet của máy tính của bạn cho phiên gỡ lỗi qua kết nối nối tiếp với RTSM và FVP. Lỗi này xảy ra khi bạn cố gắng kết nối với RTSM và FVP từ trình gỡ lỗi và máy khách telnet bị vô hiệu hóa. Máy khách telnet không được bật theo mặc định trên Windows Vista và Windows 7.

GIẢI QUYẾT Kích hoạt ứng dụng khách telnet trên máy tính của bạn và khởi động lại phiên gỡ lỗi. Để bật ứng dụng khách telnet trên Windows Vista và Windows 7:

Mở Bảng điều khiển từ menu Bắt đầu của Windows.

Chọn chương trình.

Trong Chương trình và Tính năng, bấm Bật hoặc tắt tính năng của Windows.

Từ danh sách xuất hiện, chọn hộp kiểm Telnet Client để bật telnet.

Nhấn OK để đóng hộp thoại.


Xin vui lòng đọc lại câu hỏi một cách cẩn thận. Câu trả lời của bạn không trả lời câu hỏi ban đầu. OP đã cài đặt telnet.
DavidPostill
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.