将args从批处理文件传递到带有空格的C#程序

时间:2013-01-19 10:07:04

标签: c# batch-file

我正在尝试将参数/参数从批处理文件传递到简单的 C# Console.Writeline(args [0])程序

我的程序的exe文件有一个双字名称,空格,这就是问题所在!整个事情只有在我将exe文件重命名为整个单词并写入start SchoolBook.exe OMG并且arg [0]然后变为等于“OMG”时才有效。 但在任何其他情况下,程序都无法启动。

  • 如果我离开它启动School Book.exe OMG 它说“Windows无法找到”学校“..”
  • 如果我加双引号:start "School Book.exe" OMG它说“Windows无法找到”OMG“..”
  • 如果我单引号,则找不到“学校”
  • 我尝试在OMG之前放一个' - ',在OMG周围加上引号,甚至在它之前放%1%!什么都行不通.. 有什么帮助吗?

提前谢谢!

1 个答案:

答案 0 :(得分:2)

我刚创建了一个空的命令应用程序“School Book”,它在构建时生成可执行文件School Book.exe

我非常空洞的实现:

class Program
{
    static void Main(string[] args)
    {
        if (args.Length > 0)
        {
            MessageBox.Show(args[0]);
        }
        else
        {
            MessageBox.Show(args[0]);
        }
    }
}

在我的命令框中,我可以像这样执行程序:

Debug>start "" "School Book.exe" OMG

现在弹出一个消息框“OMG”