Как передать аргументы .exe в обернутый скрипт .bat

Я хотел бы обернуть скрипт MyBatScript.bat внутри MyTest.exe. Затем я хотел бы вызвать MyTest.exe с аргументами, таким образом:

MyTest.exe arg1 arg2

формат передачи аргументов может быть другим, если это необходимо.

Я бы хотел, чтобы arg1 и arg2 передавались в MyBatScript.bat при выполнении %1 и %2 и MyBatScript.bat.

Как я могу это сделать?

Спасибо!


person forumer    schedule 28.06.2009    source источник
comment
На каком языке вы работаете?   -  person Robert Harvey    schedule 28.06.2009
comment
Это потрясающее требование! Можем ли мы узнать, почему вы хотели бы сделать такую ​​вещь?   -  person nik    schedule 28.06.2009
comment
Я могу придумать несколько причин.   -  person Robert Harvey    schedule 29.06.2009


Ответы (2)


Это полностью зависит от того, на каком языке вы компилируете .exe. Вот пример использования C#:

    static void Main(string[] args)
    {
        StringBuilder buildArgs = new StringBuilder();
        foreach(string arg in args)
        {
            buildArgs.Append(arg);
            buildArgs.Append(" ");
        }
        System.Diagnostics.Process.Start(@"C:\MyBatScript.bat", buildArgs.ToString());
    }

Это будет основная функция ConsoleApplication.

person Sean    schedule 28.06.2009

Выполнение пакетного файла из вашего EXE-файла на самом деле просто вызывает программу cmd.exe с пакетным файлом в качестве параметра. Таким образом, вы можете передать любые дополнительные параметры, которые принимает этот пакетный файл.

person Assaf Lavie    schedule 28.06.2009