【问题标题】:Not receiving arguments from batch script未从批处理脚本接收参数
【发布时间】:2014-07-07 08:33:53
【问题描述】:

我创建了一个简单的程序,用于在运行 win 7 Embedded 的系统中移动文件。我的软件及其处理启动的方式遇到了一个奇怪的“错误”。

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

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

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

start Pack.exe -batch
exit

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

【问题讨论】:

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


    【解决方案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 命令?如果是这样,它会像处理窗口标题一样处理它。比较

    start "c:\windows\notepad.exe"
    

    还有这个

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

    然后你应该添加一个标题参数来启动程序。也可以考虑使用 cmd /C 代替。

    【讨论】:

    • 阅读问题,当我尝试在 windows 7 嵌入式系统上使用相同的命令时会出现问题,但在运行 windows 7 企业版的笔记本电脑上运行良好。
    • 嗯-m - 你可以尝试使用 cmd /C 代替 start 吗?
    • CMD /c 按预期工作:CMD /c Green_Packer.exe batch。但是为什么我切换系统时我的原始脚本不起作用?
    • 无法在 Win7 嵌入式上试用。但我想如果它在全新安装上重现是一个错误。
    猜你喜欢
    • 1970-01-01
    • 2013-11-19
    • 1970-01-01
    • 2017-12-27
    • 2011-05-10
    • 1970-01-01
    • 1970-01-01
    • 2011-06-15
    • 1970-01-01
    相关资源
    最近更新 更多