没有从批处理脚本接收参数

时间:2014-07-07 08:33:54

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

我创建了一个简单的程序,用于在运行win 7嵌入式系统的系统中移动文件。我用我的软件和它处理初创公司的方式遇到了一个奇怪的“错误”。

    static void Main(string[] args)
    {
        if (Flagger.GetFlag().Contains("Processing") || args.Contains("batch"))
        {
            Run();
        }
        return;
    }

我选择处理这个程序执行的不同方式的方式,我已经创建了一种简单的方法来查看它是作为系统启动过程的一部分执行,还是由批处理文件调用。

批处理文件意味着由SQL服务器中的触发器调用,并运行一些用于记录等的程序。在我的工作站上测试它时,它会执行并传递它应该做的参数,但在嵌入式系统中,没有通过批处理文件为程序提供参数。

start Pack.exe -batch
exit

我尝试了几种不同的编写批处理文件的方法(带/不带引号,启动 - 退出),但无济于事。什么可能导致批处理文件不将参数传递给Packer?

1 个答案:

答案 0 :(得分:1)

Starts a separate window to run a specified program or command.
START ["title"] [/Dpath] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
[/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
[/WAIT] [/B] [command/program]
[parameters]

可能是,您将qouted字符串作为启动命令的第一个参数传递?如果是这样,它就像窗口标题一样处理它。比较

start "c:\windows\notepad.exe"

和这个

start "test" "c:\windows\notepad.exe"

然后你应该添加一个标题参数来启动程序。另请考虑使用cmd / C.