Страница 1 из 1

Помогите с батником плиз...

Добавлено: Вт авг 15, 2006 17:51
A.N.T.
Вот суть батника:

Код: Выделить всё

Если существует процесс с именем Proga.exe, то
не делать ничего, если не существует, то перейти к метке 1.
Вобщем при первом запуске батника запускается прога, а при втором, если прога уже запущена, ничего не делать...
Возможно ли такое?

Добавлено: Вт авг 15, 2006 22:55
Nik
Не знаю, как насчет батника, а на WinAPI это пишется за пять минут :)

Добавлено: Ср авг 16, 2006 00:47
Вахмурка
WinAPI - это из пушки по воробьям. PowerPro куда проще. Если прога создает окно (в том числе скрытое), то скрипт в три строки. А вот если не создает, то не уверен. Есть там операции с потоками, но я их не тестил. A.N.T., уточни задачу. Или, как говорит Batya, "ставь ТЗ".

Добавлено: Ср авг 16, 2006 07:56
A.N.T.
2Вахмурка

ТЗ я описал в шапке темы (зелёным), но вот не очень хочу PowerPro юзать :roll: :oops: , хочется именно батник, что бы без всякой привязки к чему либо и легко видоизменяемо... А прога которую нужно запустить TotalScripts.exe, не знаю есть ли там скрытое окно... Кстати после переустановки Win нужно заново PowerPro инсталлить?

Добавлено: Ср авг 16, 2006 08:34
Spine
на идеальность не претендую, но вот так у меня уж почти год работает

Код: Выделить всё

  
set run=no_run
tasklist /FI "IMAGENAME eq thebat.exe" | find "thebat.exe" > t_run.txt 
  For /f %%a in (t_run.txt) Do set run=%%a 
  if %run% NEQ thebat.exe echo test
pause

Добавлено: Ср авг 16, 2006 09:10
A.N.T.
Spine
Вроде бы то что нужно, но вот это что значит:

Код: Выделить всё

E:\TC>For /F %a in (t_run.txt) Do set run=%a
Непредвиденное появление: proga.

Добавлено: Ср авг 16, 2006 10:36
Spine
исправил, проверил, работает, см. выше...

Добавлено: Ср авг 16, 2006 12:31
Вахмурка
ТЗ я описал в шапке темы (зелёным)
Для меня, видимо, было недостаточно...
не очень хочу PowerPro юзать
Жаль. Я уже давно все свои батники на PowerPro перевел.
хочется именно батник, что бы без всякой привязки к чему либо и легко видоизменяемо
Это имеет смысл только если пишешь для чужой машины. А скрипт - такой же текстовый файл, как батник, так что видоизменяемость по меньшей мере не хуже.
после переустановки Win нужно заново PowerPro инсталлить?
Как и подавляющее большинство других программ ;)

2Spine
А я-то думал, что разбираюсь в батниках... Век живи - век учись.

Добавлено: Ср авг 16, 2006 14:30
Spine
2Вахмурка ;) припрёт и не такой изврат сделаешь, это кусочек из батника для поддержания спутникового и-нета в рабочем состоянии и автоматической смены скорости... всего 1.5 килобайта, прога на делфи делающая то-же почти полтора мега, и не везде работает...

Добавлено: Ср авг 16, 2006 18:08
A.N.T.
2Spine
Ухты:D Спасибо большое... То что нужно, супер.:)

2Вахмурка
Это имеет смысл только если пишешь для чужой машины...
Зачастую тоталом я пользуюсь не только на своём компьютере;), а Power Pro далеко......... не у каждого:), зато cmd.exe и command.com у всех ;)

Добавлено: Сб янв 02, 2010 14:06
SilverVox
Есть решение по проще. http://forum.script-coding.info/viewtop ... 963#p31963

Код: Выделить всё

@echo off
set task=%1||set /p task=Введите имя образа^:
tasklist /fi "imagename eq %Task%" /nh 2> nul | find /i "%Task%" > nul

rem Если процесс запущен возвращает errorlevel 0 если нет то errorlevel 1

if errorlevel 1 (
                 echo %task%- не запущен
) else (
        echo %task%- запущен
)
Pause>nul