Задать вопрос
Этот вопрос закрыт для ответов, так как повторяет вопрос Как ограничить количество определённого процесса на пользователя Windows?
@Dvach
Генератор тупых вопросов и ещё более тупых ответов

Запуск программы только если нет запущенного экземпляра у пользователя bat скрипт?

Нужно запускать программу только если пользователь её ещё не отрыл, схема ярлык → скрипт (bat) → запуск если нет процесса

Собственно есть отличная штука которая делает то что надо

tasklist /FI "USERNAME eq %username%" /FI "IMAGENAME eq program.exe" 2>NUL | find /I /N "program.exe">NUL
if "%ERRORLEVEL%" == "1" "C:\program.exe"

Проблема - скрипт должен выполнятся пользователем рядовым, не админом, но при добавлении /FI "USERNAME eq %username%" скрипт виснет, лечится только запуском от админа, но этот вариант не подходит по двум причинам
1) У пользователя нет прав админа (Кеп)
2) При запуске тогда подтягивается имя админа под которым запущен, т.е. %username% теряет смысл

С чем это связанно? Без имени пользователя скрипт выполняет но, что логично, ищет по всем пользователям. Как можно обойти проблему, чтобы скрипт работал без прав админа и для конкретного пользователя что его запускает
  • Вопрос задан
  • 153 просмотра
Подписаться 2 Простой
Решения вопроса 1
@Olgeir
Цепочка find'ов проблему не решит?
| find /I /N "program.exe">NUL | find /I /N "%username%">NUL
Ответ написан
Ответы на вопрос 1
Используйте PowerShell
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы