PDA

Показать полную графическую версию : Запуск cmd по очереди.


krasavchik0
18-02-2020, 20:32
написал строчку

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

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




© OSzone.net 2001-2012