Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] Одновременный запуск файлов .cmd с параметрами с отображением консолей. (http://forum.oszone.net/showthread.php?t=319859)

andr_mozg 17-10-2016 16:04 2679052

Одновременный запуск файлов .cmd с параметрами с отображением консолей.
 
ПРивет.

Беда такая, есть сторонний исполняемый файл xxx.cmd

использую стандартный механизм
Код:

RUN('"' & @ComSpec & '" /c ' & $value,"",@SW_MINIMIZE,6)
Все бы хорошо, но есть пару НО.
- не хочет запускать параллельно процессы CMD
- если использую стандартные CMD команды то вывод в консоль дает, если CMD файл то соответственно нет
- не отображает работающие консоли

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

Спасибо

P.S. Реализовал бы все чисто на батниках но к сожалению параметры надо дергать из файла, и батник будит уж больно хитрый.

andr_mozg 17-10-2016 18:05 2679116

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

Iska 17-10-2016 18:31 2679124

Ничего не понятно.

Mike909 17-10-2016 19:00 2679134

запускайте с опцией $RUN_CREATE_NEW_CONSOLE (0x10000)

Код:

#include <Constants.au3>

Local $sCommand = "ping 8.8.8.8"
Run('"' & @ComSpec & '" /c ' & $sCommand, "", @SW_MINIMIZE , $RUN_CREATE_NEW_CONSOLE)
Run('"' & @ComSpec & '" /c ' & $sCommand, "", @SW_MINIMIZE , $RUN_CREATE_NEW_CONSOLE)


andr_mozg 18-10-2016 12:10 2679337

рассказываю более детально.

пример
файл 1.bat в файле всего одна команда Dir

запускаю файл


Код:


For $i = 1 to 5
    Run('"' & @ComSpec & '" /c ' & "1.bat",@ScriptDir, @SW_MINIMIZE , $RUN_CREATE_NEW_CONSOLE)
Next

В итоге вывода естественно нет, перенаправление в файл так же почему то не срабатывало.

В идеале хочу чтобы параллельно запускаю батник и я смог получить каким то способом вывод, в данном примере все проскакивает и вывода нет.

Или хотя бы чтобы окна консоли не закрывались и можно было посмотреть вывод

Iska 18-10-2016 12:25 2679343

Цитата:

Цитата andr_mozg
В итоге вывода естественно нет »

Вывод есть.

Цитата:

Цитата andr_mozg
перенаправление в файл так же почему то не срабатывало. »

Покажите код с перенаправлением вывода в файл.

Цитата:

Цитата andr_mozg
чтобы параллельно запускаю батник »

Всё ещё непонятно.

Цитата:

Цитата andr_mozg
и я смог получить каким то способом вывод »

Куда получить? В скрипт?

Цитата:

Цитата andr_mozg
в данном примере все проскакивает и вывода нет. »

Ещё раз: вывод есть.

Цитата:

Цитата andr_mozg
Или хотя бы чтобы окна консоли не закрывались и можно было посмотреть вывод »

Используйте параметр «/k» вместо «/c». Тогда командный процессор не будет завершать свою работу после исполнения переданной ему командной строки (в данном случае — пакетного файла). $RUN_CREATE_NEW_CONSOLE — ни к чему.

andr_mozg 18-10-2016 12:46 2679349

Всем спасибо, именно ключь /K и параметр $RUN_CREATE_NEW_CONSOLE помогли.

ИТого

Код:

Run('"' & @ComSpec & '" /k ' & "1.bat",@ScriptDir, @SW_MINIMIZE , $RUN_CREATE_NEW_CONSOLE)
Спасибо

Mike909 18-10-2016 13:08 2679364

В догонку:
я останавливал закрытие батника командой pause, но можно и ключ \k использовать

Iska 18-10-2016 13:27 2679369

Цитата:

Цитата andr_mozg
и параметр $RUN_CREATE_NEW_CONSOLE помогли. »

Этот параметр не нужен.

andr_mozg 20-10-2016 12:12 2680062

Iska, как не странно но с этим параметром и без него, два разных результата на выходе


Время: 12:11.

Время: 12:11.
© OSzone.net 2001-