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

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Запуск 30 скриптов python в консоли через батник (http://forum.oszone.net/showthread.php?t=335985)

cyberp1983 02-08-2018 08:15 2824495

Запуск 30 скриптов python в консоли через батник
 
Такая проблема:
У меня есть порядка 32 скриптов написанных на питоне, мне нужно их все запустить на одном рабочем столе двумя столбцами по 16 для дальнейшего отслеживания их работы.
Как запустить все 32 я вообщем то понял (start /D "G:\Dropbox\sender-text\echo_send_to_new\" python 79031073785.py и т.д.), но мне нужно что бы эти окна замостили весь экран рабочего стола, как прописать координаты каждого окна? или может быть как то можно что бы они автоматически выстроились.

YuS_2 02-08-2018 10:09 2824505

Цитата:

Цитата cyberp1983
или может быть как то можно что бы они автоматически выстроились. »

cmdow.exe
Управление окнами Windows из консоли

Iska 02-08-2018 12:04 2824519

Используйте Wbem, класс Win32_Process и его метод Create, задавая потребные свойства окна создаваемого процесса посредством класса Win32_ProcessStartup.

Как это может выглядеть на WSH:
Скрытый текст
Код:

Option Explicit

Dim objSWbemServicesEx


Set objSWbemServicesEx = WScript.CreateObject("WbemScripting.SWbemLocator").ConnectServer(".", "root\cimv2")

RunProcess "ping.exe -t google.com",    "c:\windows\system32", "Обмен пакетами с Google.com",    100, 100, 600, 200, 20, 5
RunProcess "ping.exe -t yandex.ru",    "c:\windows\system32", "Обмен пакетами с Yandex.com",    100, 350, 600, 200, 20, 5
RunProcess "ping.exe -t microsoft.com", "c:\windows\system32", "Обмен пакетами с Microsoft.com", 100, 600, 600, 200, 20, 5
RunProcess "ping.exe -t mozilla.com",  "c:\windows\system32", "Обмен пакетами с Mozilla.com",  750, 100, 600, 200, 20, 5

Set objSWbemServicesEx = Nothing

WScript.Quit 0

Sub RunProcess(strCommandLine, strWorkingDirectory, strTitle, intX, intY, intXSize, intYSize, intXCountChars, intYCountChars)
        Const SW_NORMAL = 1
       
        Dim objSWbemObjectEx
        Dim lngProcessID
       
       
        Set objSWbemObjectEx = objSWbemServicesEx.Get("Win32_ProcessStartup").SpawnInstance_
       
        With objSWbemObjectEx
                .Title      = strTitle
               
                .X          = intX
                .Y          = intY
               
                .XSize      = intXSize
                .YSize      = intYSize
               
                .XCountChars = intXCountChars
                .YCountChars = intXCountChars
               
                .ShowWindow  = SW_NORMAL
        End With
       
        objSWbemServicesEx.Get("Win32_Process").Create strCommandLine, strWorkingDirectory, objSWbemObjectEx, lngProcessID
       
        Set objSWbemObjectEx = Nothing
End Sub


Естественно, Вам нет никакой нужды пользовать именно WSH. Используйте код просто как образец для написания аналога на Python'е.

cyberp1983 02-08-2018 12:42 2824525

Спасибо YuS_2

Сделал так:

start /D "G:\new\" python ххххххххх.py
cmdow "C:\Python27\python.exe" /siz 937 71
cmdow "C:\Python27\python.exe" /mov 0 0


Время: 00:10.

Время: 00:10.
© OSzone.net 2001-