将参数从批处理文件传递给带有空格的c#程序

本文关键字:空格 程序 参数 批处理文件 | 更新日期: 2023-09-27 17:54:53

我正在尝试将参数/参数从批处理文件传递到一个简单的 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".."
  • 如果我加单引号,它找不到"School"
  • 我试着在OMG前面放一个'-',在OMG周围放引号,甚至在它前面放%1% NO!没有工作. .任何帮助吗?

提前感谢!

将参数从批处理文件传递给带有空格的c#程序

我刚刚创建了一个空的命令应用程序"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"