【问题标题】:cmd.exe will not recognize commandcmd.exe 无法识别命令
【发布时间】:2015-01-10 02:23:23
【问题描述】:

我有一个运行 cmd.exe 的 vb.net 应用程序,如下所示:

Dim Port1 = CreateObject("WScript.Shell")
    Port1.Run("cmd.exe")
    Port1.Sendkeys("telnet ip address")
    Port1.Sendkeys("{Enter}")
    System.Threading.Thread.Sleep(6000)

当 cmd 运行 sendkeys 时会显示错误

"'telnet' 未被识别为内部或外部命令, 可运行的程序或批处理文件。”

我关闭了cmd窗口,打开另一个cmd,输入命令没有问题。

我需要 cmd 在 vb.net 中运行,而不是作为单独的文件。

在 Microsoft Visual Studio Ultimate 2013 中运行 vb.net。

更新:谁能告诉我为什么当我将应用程序移动到另一台计算机并尝试运行它时它会做同样的事情?

【问题讨论】:

  • 我的水晶球说您正在运行 32 位版本的 cmd.exe。项目 + 属性,编译选项卡。将 Target CPU 设置更改为 AnyCPU 并取消勾选“Prefer 32-bit”选项。
  • @HansPassant 你的水晶球看得远。谢谢你的帮助。

标签: vb.net cmd


【解决方案1】:

您必须通过开始 > 控制面板 > 程序和功能 > 打开或关闭 Windows 功能 > 检查 telnet 客户端或在运行中键入 optionalfeatures 并检查 telnet 客户端来启用计算机上的 telnet。之后该命令应该成功执行。

【讨论】:

    【解决方案2】:

    您的计算机上没有安装 Telnet(据我所知,默认情况下它没有安装在任何现代 Windows 版本上),或者它的安装目录不在 PATH 环境变量中。

    要么将其安装目录添加到 PATH,要么在 cmd.exe 的参数中指定 telnet.exe 的完整路径。

    【讨论】:

      【解决方案3】:

      CMD 运行基于 System32 和 .bat(batch) 或 .exe 的命令。您必须创建一个 .exe 或 .bat 并将其放入 System32 中才能使该命令起作用。

      【讨论】:

        猜你喜欢
        • 2017-12-10
        • 1970-01-01
        • 2014-06-15
        • 2020-09-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多