|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Произвольный запуск одного из бат файлов |
|
|
CMD/BAT - [решено] Произвольный запуск одного из бат файлов
|
Пользователь Сообщения: 103 |
Профиль | Отправить PM | Цитировать Помогите, очень нужна помощь.
Есть 6 batников, допустим c:/bat/1.bat, c:/bat/2.bat, c:/bat/3.bat и тд., нужно запускать один из них в произвольном (random) порядке. Заранее огромное спасибо! |
|
Отправлено: 02:57, 10-07-2015 |
Старожил Сообщения: 415
|
Профиль | Отправить PM | Цитировать @Echo Off SetLocal EnableDelayedExpansion :: Задаём имена файлов для запуска через запятую, пробелы в именах допустимы. Set Files[]=one.bat,two.bat,three.bat,two hundreds.bat,something.exe :: Подсчитываем общее число указанных файлов и пишем их имена в переменные Set i=0 Set "Files[]=%Files[]:,=" "%" Set "Files[]="%Files[]%"" For %%A In (%Files[]%) Do ( Set /A i+=1 Set Files[!i!]=%%~A ) :: С помощью ГПСЧ выбираем выбираем случайный файл из списка и запускаем его Echo %Random%!Random!>nul Set /A n=(!i!*!Random!/32768)+1 Start "" "!Files[%n%]!" Pause&Exit |
Отправлено: 06:57, 10-07-2015 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1754
|
|
Отправлено: 08:16, 10-07-2015 | #3 |
Пользователь Сообщения: 103
|
Профиль | Отправить PM | Цитировать Foreigner, Anonymоus, Спасибо большое!
|
Отправлено: 01:26, 11-07-2015 | #4 |
Пользователь Сообщения: 103
|
Профиль | Отправить PM | Цитировать Вопрос только, там в бат файлах у меня простейшие действия типа move, copy и тд. Как сделать чтобы после запуска ваших скриптов и выполнения команды из рандомного батника, cmd.exe закрывался, а то он у меня остается запущенным в режиме командной строки...
|
|
Отправлено: 01:42, 11-07-2015 | #5 |
Ветеран Сообщения: 1754
|
XXXp, замени goto:eof на exit
|
Отправлено: 08:45, 11-07-2015 | #6 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать Цитата XXXp:
Ещё вчера заметил, что и Anonymоus, и Foreigner, как сговорившись, для вызова пакетного файла используют команду "START". При таком способе вызова действительно окно "cmd.exe" остаётся открытым, так как пакетный файл запускается интерпретатором командной строки по умолчанию с ключом "/K" ("выполнение указанной команды (строки) без последующего завершения"). В этом случае не поможет даже Цитата Foreigner:
Чтобы этого не происходило, для команды "START" надо использовать такую конструкцию: . А вообще для вызова пакетного файла лучше использовать команду "CALL": . |
||
Последний раз редактировалось Georgio, 11-07-2015 в 14:46. Причина: пропущенная запятая. Отправлено: 10:48, 11-07-2015 | #7 |
Ветеран Сообщения: 1754
|
Цитата Georgio:
|
|
Отправлено: 11:08, 11-07-2015 | #8 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать |
Отправлено: 11:33, 11-07-2015 | #9 |
Ветеран Сообщения: 1754
|
Georgio, А понял, ты имеешь ввиду тот батник, который запустится
|
Отправлено: 13:05, 11-07-2015 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
2008 R2 - перенос файлов из одного домена в другой | nokogerra | Windows Server 2008/2008 R2 | 1 | 25-06-2014 21:41 | |
Потребовалось восстановление одного из файлов данных системного реестра.... | vlnik | Microsoft Windows 2000/XP | 5 | 31-03-2014 17:29 | |
CMD/BAT - [решено] Запуск одного bat файла из другого | root13 | Скриптовые языки администрирования Windows | 4 | 28-10-2013 15:30 | |
[решено] Запуск одного типа файлов разными копиями программы. | vjtooth | AutoIt | 3 | 10-09-2012 03:09 | |
CMD/BAT - копирование файлов удовлетворяющих маске из одного каталога в два других | Gablik | Скриптовые языки администрирования Windows | 5 | 15-09-2011 15:13 |
|