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

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

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

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


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

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


Нужен bat файл который открывает программу несколько раз одновременно. Что то вроде for

Отправлено: 11:36, 27-03-2011

 

Старожил


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

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


А сам for не подходит?
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:26, 27-03-2011 | #2



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

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


Ветеран


Contributor


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

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


Запустим одновременно 10 раз калькулятор
Код: Выделить весь код
FOR /L %%i IN (1,1,10) DO Start " " /D"%SystemRoot%\System32" "calc.exe"
Кавычки здесь обязательны, если в пути или имени файлов есть пробелы. В частности, здесь без них можно обойтись

Решение уточнено после замечания Gora

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 28-03-2011 в 14:09.

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:30, 27-03-2011 | #3


Аватара для gora

Ушёл из жизни


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

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


Цитата megaloman:
Запустим одновременно 10 раз калькулятор »
Ваш вариант запускает 10 раз не калькулятор, а CMD. В заголовке каждого консольного окна написано calc.exe, а сам калькулятор не запускается ни разу. Это происходит из-за того, что команда Start первый текст в кавычках (здесь кавычки в ключе /D не учитываются, ибо это принадлежность самого ключа) она рассматривает как заголовок окна. Правильно писать нужно так:
Код: Выделить весь код
FOR /L %%i IN (1,1,10) DO Start "" "calc.exe"
Здесь первые кавычки задают пустой заголовок окна, а калькулятор стартует и без указания пути, т.к., путь к нему присутствует в переменной %Path% в системе по умолчанию.
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:21, 28-03-2011 | #4


Ветеран


Contributor


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

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


gora, Я действовал в соответствии c хелпом Start /?, где параметр ["заголовок"] не обязателен. Ответ писал на домашнем компьютере. И там БАТНИК РАБОТАЛ!!! На рабочем компе, увы, всё как Вы и написали. Но Ваш вариант не вполне приемлем, так как он годится только если программа может быть найдена системой по Path, то есть когда не надо (не обязательно) указывать путь к исполнимому файлу. Путём проб выяснил, что работает вариант
Код: Выделить весь код
FOR /L %%i IN (1,1,10) DO Start " " /D"%SystemRoot%\System32" "calc.exe"

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Отправлено: 11:07, 28-03-2011 | #5


Аватара для gora

Ушёл из жизни


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

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


Цитата megaloman:
Путём проб выяснил, что работает вариант »
Конечно работает, но можно указать путь прямо в команде:
Код: Выделить весь код
FOR /L %%i IN (1,1,10) DO Start "" "%SystemRoot%\System32\calc.exe"
или так, если этого пути нет в %Path% :
Код: Выделить весь код
FOR /L %%i IN (1,1,10) DO Start "" "%ProgramFiles%\7-Zip\7zFM.exe"
Цитата megaloman:
действовал в соответствии c хелпом Start /?. »
Внимательно читаем:
Цитата:
Запуск указанной программы или команды в отдельном окне.

START ["заголовок"] [/Dпуть] [/i] [/MIN] [/MAX] [/SEPARATE | /SHARED]
[/LOW | /NORMAL | /HIGH | /REALTIME| /ABOVENORMAL | /BELOWNORMAL]
[/WAIT] [/b]
[команда/программа] [параметры]

"заголовок" Заголовок окна.
...
и видим, что заголовок в кавычках должен быть первым, что будет заключено в кавычки в команде Start. И даже если Вы написали в кавычках команду, а заголовок забыли написать, то Start будет считать это заголовком, а не командой.
Цитата megaloman:
И там БАТНИК РАБОТАЛ!!! »
Возможно у Вас дома при тестах calc.exe был без кавычек, но Вы же сами убедились:
Цитата megaloman:
На рабочем компе, увы, всё как Вы и написали. »

Отправлено: 11:35, 28-03-2011 | #6


Ветеран


Contributor


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

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


Внимательно читаем: ["заголовок"] - необязательный параметр, так как в квадратных скобках. [/Dпуть]- как понимаю, после ключа я волен писать путь, в том числе и в кавычках. Написать сразу "%SystemRoot%\System32\calc.exe" можно в этом частном случае. Но, как я понимаю (проверил) , указание явно рабочего каталога эквивалентно выполнению команды CD /D для указанного пути. А запустить файл по указанному пути и из рабочего каталога - существенная разница. Для примера, вот два варианта запуска:

FOR /L %%i IN (1,1,1) DO Start " " /D"G:\GAMES\PENTIX" "PENTIX.EXE"
FOR /L %%i IN (1,1,1) DO Start " " "G:\GAMES\PENTIX\PENTIX.EXE"

В этой игрушке в отдельном файле PENTIX.res хранится счет игры.
В первом случае, счет (PENTIX.res) берётся из рабочего каталога G:\GAMES\PENTIX
Во втором случае - PENTIX.res создаётся в каталоге, откуда запущен батник.
В общем случае программе из рабочего каталога могут понадобиться разнообразные файлы, и неуказание рабочего каталога приведёт к её неработоспособности. В этом смысле калькулятор - увы, не очень удачный пример.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 28-03-2011 в 14:04.


Отправлено: 13:42, 28-03-2011 | #7


Аватара для gora

Ушёл из жизни


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

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


Цитата megaloman:
Внимательно читаем: ["заголовок"] - необязательный параметр, »
Я не могу отвечать за все баги M$, Вам лучше обратится к ним и указать на эту несуразицу. Для себя я уже это решил и всегда ставлю пустые кавычки ("") после команды Start, дабы не наступать на эти грабли.
Цитата megaloman:
указание явно рабочего каталога эквивалентно выполнению команды CD /D для указанного пути. »
В постановке задачи не ни слова о смене рабочего каталога. Можно привести пример и обратных (нежелательных) последствий такой смены.
Явно менять каталог не просят - не надо этого делать, ибо "Лучшее - враг хорошего" ( (С) немецкая поговорка) ИМХО.
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:01, 28-03-2011 | #8


Старожил


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

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


Цитата megaloman:
Внимательно читаем: ["заголовок"] - необязательный параметр, так как в квадратных скобках. »
Так и есть. Например
Код: Выделить весь код
FOR /L %%i IN (1,1,10) DO Start calc.exe
отлично работает без заголовка.
НО если в параметрах появляются кавычки, то считается что первые из них содержат заголовок

Отправлено: 17:21, 28-03-2011 | #9


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


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

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


А как бы это так сделать, чтобы программа запускалась, например, 5 раз и с паузой 5 секунд? Помогите!!! Очень надо!!!

Отправлено: 02:37, 20-10-2011 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
NVIDIA: чип Kal-El в 5 раз быстрее Tegra 2, Stark - в 75 раз быстрее OSZone News Новости железа 0 16-02-2011 21:30
CMD/BAT - [решено] через команду for вывести несколько раз 1 выражение csusha Скриптовые языки администрирования Windows 2 19-09-2010 18:18
Периодически (раз в несколько месяцев) перестает идти сигнал на монитор Computer master Непонятные проблемы с Железом 17 19-08-2009 11:44
Разное - Принетер печатает раз через раз. Solker Microsoft Windows 2000/XP 2 23-04-2009 10:02
Приобретение - Еще раз про лицензирование на несколько организаций CASHis Лицензирование продуктов Microsoft 0 19-12-2007 07:43




 
Переход