1

Я установил клиент telnet для Windows (telnet.exe) в Windows 8 Enterprise Edition (окончательная первоначальная версия ), включив или выключив функции Windows. Однако я не могу запустить его из командной строки администратора.

Я выполнил полный поиск диска C: и вижу исполняемый файл, находящийся в c:\Windows\system32:

Я также вижу исполняемый файл в проводнике:

В обоих вышеупомянутых случаях я могу запустить клиент двойным щелчком мыши, но по какой-то причине он не отображается в моей командной строке Administrator cmd.exe (или PowerShell в этом отношении):

Кроме того, как вы можете видеть на скриншоте выше, c:\Windows\system32 присутствует и корректен в моей переменной окружения PATH . Другие системные исполняемые файлы запускаются очень хорошо (например, tasklist.exe ).

По причинам, которые слишком длинны, чтобы объяснить, я не могу использовать сторонний клиент telnet, такой как PuTTY.

Кто-нибудь может пролить свет на то, почему это происходит?

Я также попытался перезагрузиться, но это тоже не помогло.

3 ответа3

2

Это из-за перенаправителя файловой системы. 32-разрядный процесс не увидит настоящую папку Windows\System32 а вместо этого получит содержимое замещенной Windows\SysWOW64

Чтобы он работал на 32-битном cmd.exe или любых 32-битных оболочках, которые вы можете запустить

cd %windir%\Sysnative\

чтобы изменить рабочий каталог на настоящую папку System32, а затем запустить telnet обычном режиме. Или просто запустите %windir%\Sysnative\telnet напрямую, чтобы открыть 64-битный telnet.exe

Другой способ - принудительно открыть 64-битный cmd.exe из 32-битного процесса (например, ViStart), изменив вызывающую команду или ярлык на %windir%\Sysnative\cmd.exe

Или просто скопируйте (или создайте жесткую ссылку) файл telnet.exe из System32 в SysWOW64

Вы также можете добавить %windir%\Sysnative к переменной среды %PATH% после %windir%\System32 , поскольку после проверки отсутствия файла в System32 он продолжит поиск в Sysnative

1

Я наконец докопался до этого. Я установил ViStart после того, как все больше разочаровывался в новом Windows 8 Modern UI, который особенно сложно использовать при подключении к удаленному рабочему столу.

Я использовал ViStart, чтобы сделать мою обычную мышечную память Start-> Run-> cmd.exe, как в Windows 7. Однако оказывается, что ViStart является 32-разрядным приложением и запускает 32-разрядную командную строку. Конечно, эта 32-битная командная строка не может видеть telnet.exe потому что это 64-битный exe и т.д.

С тех пор я отказался от ViStart как плохой идеи и смирился с тем, чтобы научиться ориентироваться в Modern UI.

0

Скорее всего, это побочный эффект PendingRenames , Windows Explorer настолько нов, что он показывает, что он показывает последнее состояние с учетом ожидающих переименований в учетной записи int, в то время как командная строка настолько старая, что изначально читает диск и, следовательно, не видит переименованные файлы. еще. Обычно они сначала устанавливаются во временное распакованное место, а затем переименовываются в фактическое местоположение.

Я предполагаю, что вы уже Turn Windows features on or off. без перезагрузки компьютера, таким образом, он все еще должен завершить установку компонентов, выполнив фактическое переименование, чтобы вы могли фактически использовать telnet из командной строки.

Таким образом, простое "вы пытались включить и выключить снова?«подход должен решить это.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .