Как установить RANDOM в командном файле?

Итак, я написал этот командный файл.

Мне нужно использовать какую-то случайную функцию, чтобы выбрать между 9 . EXE-файлов.

Одним из этих файлов.exe является "OPTION1.exe", поэтому я бы хотел, чтобы пакет выбирал из "OPTION2.exe, OPTION3.exe..." и т. Д., И все они находятся в той же папке, что и первая.

Я хотел бы знать, возможно ли это и как это сделать.

Спасибо за ваше время.

@echo off
:loop
TASKKILL /F /IM "Software.exe"
TASKKILL /F /IM "Chrome.exe"
TIMEOUT /T 5
cd C:\Users\admin\Documents\Software
start Software
TIMEOUT /T 15
start OPTION1.exe
TIMEOUT /T 10
start connect.exe
TIMEOUT /T 15
cd C:\Program Files (x86)\Google\Chrome\Application
start Chrome.exe 
TIMEOUT /T 400
TASKKILL /F /IM "Chrome.exe"
TIMEOUT /T 10
cd C:\Users\admin\Documents\Software
start disconnect.exe
TIMEOUT /T 15
cls
GOTO loop

2 ответа

Решение
set /a executable=(%random% %% 9) + 1
set "executablename=OPTION%executable%.exe"
echo %executablename%

должен показать вам случайное имя исполняемого файла OPTION1.exe.. OPTION9.exe

Ну, есть несколько улучшений, которые вы можете внести в код, который вы предоставили. Вот модифицированный код:

echo off
cls
:loop
TASKKILL /F /IM Software.exe
TASKKILL /F /IM Chrome.exe
TIMEOUT /T 5
cd C:\Users\admin\Documents\Software
start Software.exe
TIMEOUT /T 15
start OPTION1.exe
start OPTION2.exe
start OPTION3.exe
TIMEOUT /T 10
start connect.exe
TIMEOUT /T 15
cd C:\Program Files (x86)\Google\Chrome\Application
start Chrome.exe 
TIMEOUT /T 400
TASKKILL /F /IM Chrome.exe
TIMEOUT /T 10
cd C:\Users\admin\Documents\Software
start disconnect.exe
TIMEOUT /T 15
cls
GOTO :loop
Другие вопросы по тегам