Telnet จะไม่เรียกใช้จากคำสั่ง cmd ใน windows 7


11

แก้ไข: ฉันใช้ windows 7, 64 bits

ฉันติดตั้งไคลเอ็นต์ Telnet แล้วและถ้าฉันไปที่ c: \ windows \ system32 ฉันจะหาไฟล์ "telnet.exe"; ถ้าฉันคลิกมัน telnet ทำงานได้อย่างสมบูรณ์

อย่างไรก็ตามถ้าฉันพิมพ์ telnet ในพรอมต์คำสั่ง cmd จะให้ข้อความ "คำสั่งที่ไม่รู้จัก" แก่ฉัน

ฉันคิดว่าเป็นเพราะ c: \ windows \ system32 \ cmd.exe กำลังเรียกใช้ไฟล์จาก windows \ sysWOW64 (ซึ่งมี cmd.exe ด้วย) ดังนั้นฉันจึงลองคัดลอก telnet.exe ไปยังโฟลเดอร์นี้ เมื่อฉันพิมพ์ telnet ในบรรทัด cmd (โดยไม่คำนึงถึง cmd.exe ที่ฉันใช้) ฉันไม่ได้รับข้อความแสดงข้อผิดพลาดอีกต่อไปและรับ ... ดีไม่มีอะไรเลย มันอยู่ที่นั่นเช่นเมื่อรอการป้อนข้อมูล แต่ถ้าฉันพิมพ์บางสิ่ง (เช่น "เลิก") จะไม่ทำอะไรเลยและรอการป้อนข้อมูลอีกครั้ง

ในที่สุดฉันก็ลองใน windows \ sysWOW64 ลบ telnet.exe สร้างทางลัด telnet.lnk เพื่อ telnet.exe ใน system32 และสร้างไฟล์ telnet.bat ใน windows \ sysWOW64 ที่รัน telnet.lnk ตอนนี้ถ้าฉันดับเบิลคลิก telnet.bat, telnet เริ่มต้นอย่างสมบูรณ์แบบ (ในหน้าต่าง system32 \ cmd.exe); ถ้าฉันพิมพ์ telnet ในพรอมต์คำสั่ง cmd (อีกครั้งไม่เป็นไร) มันจะรัน telnet.bat โดยที่ไม่มีปัญหาเลย (ทำเครื่องหมายที่การทดสอบคำสั่งอื่น ๆ ) แต่ส่งคืน "Acess ถูกปฏิเสธ" เมื่อเปิด Telnet.lnk

ดังนั้น,

- telnet ได้รับการติดตั้งและทำงานเมื่อดับเบิลคลิก

- ปุ่มลัดเพื่อให้ทำงานได้อย่างสมบูรณ์หากดับเบิลคลิก

- ค่า Telnet มิได้ลัด (หรือเรียกไฟล์ทางลัด) สามารถเรียกใช้จากทั้ง cmd พรอมต์

และนั่นคือสิ่งที่ฉันได้ไปไกลแค่ไหน ดังนั้นใช่ ... ความคิดใด ๆ


3
ไดเรกทอรีPATHของคุณมีโฟลเดอร์ System32 หรือไม่ ถ้าเป็นเช่นนั้นจริง ๆ แล้วเส้นทางยาวเกินไปกับสิ่งอื่น ๆ ด้วยหรือไม่? ฉันเองมีปัญหาที่เส้นทางยาวเกินไปอาจทำให้เกิดปัญหา
Scott Chamberlain

ตัวแปร "เส้นทาง" ประกอบด้วย% SystemRoot% \ System32 พร้อมกับไดเรกทอรีอื่น ๆ สองสามรายการคั่นด้วย ';' (ตัวอย่าง:% SystemRoot%;% SystemRoot% \ System32; C: \ Program Files (x86) \ Common Files \ Ulead Systems \ MPEG; ฯลฯ ) หวังว่านี่จะช่วยได้
Sampaio

ไดเรกทอรีใดเกิดขึ้นในเส้นทางของคุณก่อน system32 หรือ syswow64 องค์ประกอบแรกใน PATH ที่มี exe พร้อมชื่อที่คุณระบุควรเป็นอินสแตนซ์ที่ถูกเรียกใช้งาน
แฟรงค์โทมัส

จากสองอันแรกจะเป็น system32 เนื่องจาก syswow64 ไม่ได้อยู่ที่นั่นเลย อันดับแรกแน่นอนคือไดเรกทอรี "Windows Live" บางส่วนโดยที่ system32 เป็นไดเรกทอรีที่สองที่ระบุไว้
Sampaio

1
สิ่งที่ไม่where telnet.exeพูด? ฉันเพิ่งเปิดใช้งานไคลเอ็นต์ Telnet ภายใต้คุณลักษณะ Windows Telnet.exe ซึ่งเป็นโปรแกรม 64 บิตได้รับการเพิ่มรับรองสำเนาถูกต้องใน Windows \ System32 ไม่พบรุ่น 32 บิตใน Windows \ SysWOW64 การพิมพ์telnetที่พรอมต์คำสั่ง cmd ทำงานได้อย่างสมบูรณ์แบบตามที่คาดไว้ ไม่ทราบว่าปัญหาของคุณคืออะไร
Karan

คำตอบ:


8

ปรากฏว่าใน Win7 64 บิต telnet.exe เป็นคำสั่ง 64 บิต คุณสามารถเรียกใช้ได้จาก 64 บิตเชลล์ (หรือพรอมต์ cmd) แต่เชลล์ 32 บิตจะพยายามโหลดจาก SysWOW64 และจะไม่พบที่นั่น

ฉันสงสัยว่าคุณกำลังเรียกใช้พรอมต์คำสั่ง 32 บิต (ตัวอย่างเช่นจาก SysWOW64) หากคุณเรียกใช้พรอมต์คำสั่ง 64 บิต telnet ควรใช้งานได้

คุณสามารถทดสอบสิ่งนี้ได้โดยไปที่เมนู Start> Run พิมพ์cmdแล้วเรียกใช้ telnet จากพรอมต์คำสั่งนี้

คุณเริ่มพรอมต์คำสั่งของคุณได้อย่างไร หากเป็นลิงก์ให้ดูที่คุณสมบัติ หากมาจากโปรแกรมอื่นและโปรแกรมนั้นเป็น 32 บิตนั่นอาจเป็นปัญหา


ฉันได้ตรวจสอบว่ามันทำงานอยู่พร้อมรับคำสั่งจาก system32 ฉันได้เริ่มต้นด้วยการเรียกใช้พิมพ์ cmd ฉันได้เริ่มจากโฟลเดอร์ system32 โดยดับเบิลคลิก เหมือนที่ฉันพูดในคำถามฉันได้ลองพิมพ์ "telnet" ในทั้งสองพร้อมท์คำสั่ง: จาก system32 และไดเรกทอรี syswow64 ไม่ว่าจะเลือกไฟล์ไหนมันก็จะค้นหาไฟล์ใน syswow64 ด้วยเหตุผลบางอย่าง
Sampaio

1
พฤติกรรมที่คุณกำลังอธิบายคือสิ่งที่คุณเห็นถ้าใช้พรอมต์คำสั่ง 32 บิต เรียกใช้cmd.exeจากนั้นไปที่ตัวจัดการงานและคลิกที่แท็บกระบวนการ จัดเรียงตามชื่อรูปภาพ (คลิกที่คอลัมน์ชื่อรูปภาพ) และดูกระบวนการ cmd.exe ทั้งหมด มีคนใดคนหนึ่ง*32ถัดจากพวกเขาบ้าง
jdigital

ความคิดที่ดี. ฉันตรวจสอบแล้วและมี * 32 ถัดจากกระบวนการ อย่างไรก็ตามในหน้าต่างพรอมต์คำสั่งจริงพา ธ คือ system32 \ cmd.exe อืมมม ... แก้ไข:บางครั้งกระบวนการไม่มี * 32 ซึ่งในกรณีที่ telnet ใช้งานได้ดี ดังนั้นฉันเชื่อว่าคำถามคือสาเหตุที่บางครั้งเรียก 32bits cmd.exe และสาเหตุที่ 32bits cmd.exe ปรากฏขึ้นเนื่องจากมีเส้นทาง system32 \ cmd.exe บนหน้าต่างคอนโซล
Sampaio

ในกระบวนการ 32 บิตsystem32จะถูกแมปใหม่SysWOW64ดังนั้นคุณจึงไม่สามารถไว้วางใจเส้นทางได้system32\cmd.exeโดยไม่ทราบชนิดของกระบวนการที่เรียกใช้ เกี่ยวกับสาเหตุที่เรียกใช้ 32 บิต cmd.exe นี่เป็นผลมาจากการเรียกใช้ คุณสามารถให้รายละเอียดเพิ่มเติมได้หรือไม่?
jdigital

2
จาก 32 บิต cmd คุณสามารถเรียกใช้%SystemRoot%\Sysnative\telnetจะได้รับ 64 บิตเทลเน็ต
phuclv

2

ตระหนักถึงการโพสต์นี้ (มาก!) ล่าช้า แต่เพิ่งมีปัญหาเดียวกัน มันแก้ไขได้โดยยังคัดลอกไปยังโฟลเดอร์ที่สอดคล้องกันในC:\windows\system32\en-us\telnet.exe.mui syswow64หวังว่านี่จะช่วยคนอื่นในอนาคต


เฮ้ขอบคุณสำหรับคำตอบ หากใช้งานได้ดีกว่าไม่สาย! ฉันไม่มีพีซีที่ใช้งานอยู่และในตอนนี้ฉันก็จำไม่ได้ว่ากำลังทำอะไรอยู่ (หรือพยายามทำ) ในเวลานั้น บางทีไฟล์นั้นอาจเป็นสิ่งที่ขาดหายไปเมื่อฉันพยายามคัดลอก ฉันจะให้ +1 เพื่อให้คนอื่นสามารถค้นหาได้ง่าย
Sampaio

0

ฉันทำสิ่งที่ง่ายมากและทุกอย่างทำงานให้ฉันเพียงคัดลอก Telnet.exe จาก system32 และวางไว้ใน SysWOW64 และเรียกใช้ cmd.exe ที่ตื่นเต้นใน SysWOW64 Directory และทุกอย่างทำงานได้อย่างสมบูรณ์ .. หวังว่ามันจะทำงานให้คุณ ...


0

อาการ บน Windows Vista และ Windows 7 การเรียกใช้การกำหนดค่าการดีบักด้วยแพลตฟอร์มเนื่องจาก Cortex-A8 RTSM หรือ FVP อาจให้ข้อผิดพลาดต่อไปนี้: Windows ไม่พบ 'c: \ windows \ system32 \ telnet.exe สาเหตุ DS-5 ดีบักเกอร์ใช้ความสามารถ telnet ของ คอมพิวเตอร์ของคุณสำหรับเซสชันดีบักผ่านการเชื่อมต่อแบบอนุกรมกับ RTSM และ FVP ข้อผิดพลาดนี้เกิดขึ้นเมื่อคุณพยายามเชื่อมต่อกับ RTSM และ FVP จากดีบักเกอร์และไคลเอ็นต์ telnet ถูกปิดใช้งาน ไคลเอ็นต์ telnet ไม่ได้เปิดใช้งานตามค่าเริ่มต้นใน Windows Vista และ Windows 7

การแก้ไข เปิดใช้งานไคลเอ็นต์ telnet บนคอมพิวเตอร์ของคุณและเริ่มเซสชันการตรวจแก้จุดบกพร่อง วิธีเปิดใช้งานไคลเอ็นต์ telnet ใน Windows Vista และ Windows 7:

เปิด 'แผงควบคุม' จากเมนูเริ่มของ Windows

เลือกโปรแกรม

ภายใต้โปรแกรมและคุณลักษณะคลิกเปิดหรือปิดคุณสมบัติ Windows

จากรายการที่ปรากฏขึ้นให้เลือกช่องทำเครื่องหมาย Telnet Client เพื่อเปิดใช้งาน telnet

คลิกตกลงเพื่อปิดกล่องโต้ตอบ


โปรดอ่านคำถามอีกครั้งอย่างระมัดระวัง คำตอบของคุณไม่ตอบคำถามเดิม OP ได้ติดตั้ง telnet แล้ว
DavidPostill
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.