Не получает аргументы из пакетного скрипта

Я создал простую программу для перемещения файлов в системе, в которой установлена ​​встроенная win 7. Я столкнулся со странной "ошибкой" с моим программным обеспечением и тем, как оно обрабатывает стартапы.

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

Способ, который я выбрал для обработки различных способов выполнения этой программы, я создал простой способ увидеть, выполняется ли она как часть процедуры запуска системы или вызывается из пакетного файла.

Пакетный файл предназначен для вызова триггером на SQL-сервере и запуска нескольких программ для регистрации и тому подобного. Во время тестирования этого на моей рабочей станции он выполняет и передает параметры, как это должно быть, но во встроенной системе никакие параметры не передаются программе через командный файл.

start Pack.exe -batch
exit

Я пробовал несколько разных способов написания командного файла (с / без знаков цитирования, начало-выход), но безрезультатно. Что может быть причиной того, что командный файл не передает аргументы упаковщику?

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]

Может ли быть так, что вы передаете указанную строку в качестве первого параметра для запуска команды? Если это так, он обрабатывает его как заголовок окна. сравнить

start "c:\windows\notepad.exe"

и это

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

Тогда вам просто нужно добавить параметр title для запуска программы. Также рассмотрите возможность использовать cmd /C вместо этого.

Другие вопросы по тегам