Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Запуск программ из батника

Ответить
Настройки темы
CMD/BAT - [решено] Запуск программ из батника

Пользователь


Сообщения: 58
Благодарности: 1

Профиль | Отправить PM | Цитировать


Обычно запуск программ из батника выглядит как строка: “c:\program files\example.exe”
А как быть, если нужно запустить произвольный exe-файл из нужной папки?
Вариант “c:\program files\*.exe” не проходит…

Отправлено: 23:51, 03-04-2008

 

Новый участник


Сообщения: 36
Благодарности: 6

Профиль | Отправить PM | Цитировать


Wens,
Да нет же, я говорю про случайный выбор. Именно случайный выбор.
Код: Выделить весь код
@echo off
setlocal enabledelayedexpansion
:randomize
for %%i in ("<путь к экзешникам>\*.exe") do (
    set current!random:~-1!=%%i
)
for /l %%j in (0,1,9) do (
    if defined current%%j (
        "!current%%j!"
    )
)
goto randomize
процессы генерируются непрерывно, так что если будешь документы им открывать, используй start /wait
Это сообщение посчитали полезным следующие участники:

Отправлено: 04:13, 01-05-2009 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 35
Благодарности: 0

Профиль | Отправить PM | Цитировать


Intexid спасибо за помощь, генерация вроде действительно идет, но экзешники не открываются, как ее остановить? Никакие дописанные снизу команды не действуют. Куда и что надо дописать?

Отправлено: 18:18, 03-05-2009 | #12


Новый участник


Сообщения: 36
Благодарности: 6

Профиль | Отправить PM | Цитировать


Wens
экзешники не открываются
попробуем запускать их start'ом
как ее остановить
пауза или таймер до выхода из цикла
Код: Выделить весь код
@echo off
setlocal enabledelayedexpansion
:randomize
for %%i in ("<путь к экзешникам>\*.exe") do (
    set current!random:~-1!=%%i
)
for /l %%j in (0,1,9) do (
    if defined current%%j (
        start "!current%%j!"
    )
    cls
    pause
)
goto randomize
если exe'шники будут вести себя не так как ожидается, скажи как именно,
а продолжаться все это безумие будет, только пока удерживаешь любую клафишу,
можно ограничить количество запусков, или частоту, или задержку вставить

Отправлено: 13:16, 04-05-2009 | #13


Старожил


Сообщения: 426
Благодарности: 108

Профиль | Отправить PM | Цитировать


Есть переменная "окружения" %random% - выдает случайное число в пределах от 0 и до 32767

1. Если кол-во экзешников строго определено, то заранее высчитав "вес" вероятности на запуск, укладываемся в одну строчку:
(предположим, что экзешников в каталоге 10, тогда вероятность примерно равна 3276 из 32767)

for %%f in (MyFolder\*.exe) do if /I 3276 LSS %random% start /wait %%f

2. Если кол-во экзешников "плавает", то нужно в первом цикле пробежаться и подсчитать их кол-во, затем подсчитать вероятность, а третью строку оставить почти в примере выше, но с заменой уровня вероятности на переменную

Отправлено: 19:20, 04-05-2009 | #14


Аватара для gora

Ушёл из жизни


Сообщения: 6021
Благодарности: 3491

Профиль | Отправить PM | Цитировать


Цитата Intexid:
start "!current%%j!" »
Так запуск через start писать нельзя! Правильно будет так:
Код: Выделить весь код
start "" "!current%%j!"
Первую запись в кавычках start считает заголовком окна и, в вашем варианте, не запустит сам файл, а выведет новое консольное окно с заголовком состоящим из названия этого файла.
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:31, 05-05-2009 | #15


Новый участник


Сообщения: 36
Благодарности: 6

Профиль | Отправить PM | Цитировать


gora,
Первую запись в кавычках start считает заголовком окна

спасибо за совет. пожалуй, буду его придерживаться,
хотя, на практике, если честно, не замечал

Отправлено: 12:09, 05-05-2009 | #16


Новый участник


Сообщения: 35
Благодарности: 0

Профиль | Отправить PM | Цитировать


Ребят, извините, но я не могу разобраться в нагромождении этих команд. @echo off, cls, pause я отлично понимаю, остальное весьма смутно. Путь к экзешникам я указываю, и начинается процесс генерации, но остановить то его как? Как довести до ума вариант Intexida? Где и что надо дописать? Если start или start /wait , то в каком месте их прописывать? Вариант от NiOLa тоже не работает, пробовал с десятью экзешниками.

Отправлено: 00:19, 27-05-2009 | #17



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Запуск программ из батника

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - [решено] Запуск программ с flash-драйва SharkyEXE Скриптовые языки администрирования Windows 4 20-09-2009 13:15
Разное - Связать запуск батника с запуском какого-либо екзэшника vse Microsoft Windows 2000/XP 1 19-09-2009 18:41
GPO: ошибки выполнения батника при загрузке системы (запуск сценариев) Hooty Microsoft Windows NT/2000/2003 15 24-02-2009 13:31
[решено] Ограничение на запуск определенных программ. voler Microsoft Windows NT/2000/2003 3 18-02-2008 10:17
sbs и запуск батника при логоне farlow Microsoft Windows NT/2000/2003 4 30-11-2007 13:16




 
Переход