【问题标题】:console exe (made in C#) runs from cmd prompt but not from a batch file on Windows 7控制台 exe(用 C# 制作)从 cmd 提示符运行,但不是从 Windows 7 上的批处理文件运行
【发布时间】:2011-01-16 20:56:54
【问题描述】:

我记得我以前用.bat写过

call myprog.exe

但是dos说调用不是命令?!!

我的问题不是关于 cmd 提示符,而是关于 BATCH 文件。

我也试过了

c:\some-path\myprog.exe

"c:\some-path\myprog.exe"

错误信息:exe 不是可识别的内部命令。这是一个用 C# 制作的控制台应用程序,如果我直接在 cmd 提示符下而不是批量启动它,它就会运行

更新:第 2 个字符的输出很奇怪,我认为这是因为我安装了 msysgit 客户端 http://code.google.com/p/msysgit/ 后出现了一些奇怪的 2 个字符,它以某种方式在命令提示符下做了一些事情。

希望我可以卸载它...

我卸载了它,但我的命令前面仍然有奇怪的字符:

'´++"C:\some-path\prog-example.exe"' is not recognized ...

【问题讨论】:

  • 只需使用 myprog.exe 或 c:\path\to\myprog.exe
  • 我不想在 cmd 提示符下启动,我想要一个批处理文件。
  • @PeeHaa 在 BATCH 文件中不起作用。这种方式只能在 cmd 提示符下工作。
  • 基本一样。试试看!或者我误解了这个问题,但如果你这样做 c:\windows\notepad.exe 它运行记事本

标签: c# windows windows-7 batch-file


【解决方案1】:

您已包含 exe 文件的完整路径。此外,如果路径中的任何目录包含空格,请不要忘记将整个文本包含在引号中。

例子:

C:\Program Files (x86)\Winamp\winamp.exe

注意:如果您创建了一个批处理文件并且没有按预期工作。从命令提示符运行批处理文件,它将显示错误消息。

【讨论】:

  • 我尝试了错误信息:exe不是可识别的内部命令。它是一个用 C# 制作的控制台应用程序,如果我直接在 cmd 提示符而不是批量启动它就会运行
  • 就像我说的......你是否包含完整路径?
  • 您的程序是否依赖于同一工作目录中的任何其他 DLL 等?默认情况下,批处理文件不会将您的工作目录移动到程序的位置。
  • 好的,我认为 mysgit 客户端对我的命令提示符做了一些事情,所以它不再起作用了。
【解决方案2】:

“调用”仅用于运行另一个批处理文件。

正如 shoban 所说,只需使用 .exe 的名称

【讨论】:

    【解决方案3】:

    你也可以使用

    myprog
    

    只要它在 PATH 上,就不需要完整路径。

    【讨论】:

      【解决方案4】:

      使用内置的start 命令。

      【讨论】:

        【解决方案5】:

        您可以尝试使用 cmd /c X:\path_to\myprog.exe

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-04-01
          • 1970-01-01
          • 2018-08-27
          • 1970-01-01
          • 2010-12-11
          • 1970-01-01
          相关资源
          最近更新 更多