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

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

krasavchik0 18-02-2020 20:32 2910000

Запуск cmd по очереди.
 
написал строчку
Код:

for /f "tokens=2" %%F in ('tasklist  /nh /FI "IMAGENAME eq cmd.exe" ^| sort /+27') do set FileName1=%%F
echo %FileName1%

Цель такая запускаем несколько cmd одновременно через планировщик.
Дальше вначале скрипта спрашиваем ид процессов cmd. И если текущий cmd минимальный имеет ид то выполняем дальше. Если нет то проверяем через хх снова и пока не дойдет и очередь до этого cmd.

Но столкнулся с проблемой, что данная команда видит еще какой то процесс cmd. То есть команда выше выводит на 1 ид больше, чем команда
Код:

tasklist  /nh /FI "IMAGENAME eq cmd.exe" ^| sort /+27
Кто сможет помочь написать проверку по алгоритму выше? И что делать с фантомным лишним ИД ? Спасибо.

iglezz 19-02-2020 01:18 2910036

Это не "еще какой то процесс cmd", это вызванный в команде FOR %comspec% /c tasklist /nh /FI "IMAGENAME eq cmd.exe" | sort /+27

По-простому можно загнать вывод во временный файл
tasklist /nh /FI "IMAGENAME eq cmd.exe" | sort /+27 >tempfile
а затем его распарсить в FOR


Время: 03:50.

Время: 03:50.
© OSzone.net 2001-