Вы должны войти, чтобы создавать сообщения и темы.

батник поис и запуск программы на флешке.

Доброго времени суток форумчане.
Мне нужен батник запуск программмы на флешке с параметром. Есть у меня брайзер Cent browser portable, он у меня на флешке. Как вы понимаете в дугом компьютере буква флешки меняется. В этом браузере у меня 4 профиля.
Так выглядит рабочий батник с обсолютным путём: start "" "E:\Cent Browser\chrome.exe" --profile-directory="Profile 1" в настоящий момент.
У меня возникла идея прописать эту команду на все диски. Но нужна доработка напишу только на два и условия которое хочу. Когда ответите тоже достаточно только два. ну вобщем идея такая.
C:\Cent Browser\chrome.exe" --profile-directory="Profile 1"
дальше нужно если путь правильный, запуск программы и закрытие батника.
Еслин нет сообщения об ошибке игнорируютя и не выводятся, а выполняется следующая команда.
D:\Cent Browser\chrome.exe" --profile-directory="Profile 1"
Сообщений вообще не каких не надо, работа в тихом режиме.
На все диски писать не надо, сам допишу, достаточно на два.
Вобщем надо решить эту задачу скидываю скриншот


Комментарий модератора:
 Как оформлять свои темы и комментарии  |  Как делать крутые скриншоты 

Доброго времени суток
Вопрос решён. Сам случайно в интернете нашёл. Вот рабочйй вариант отредактированый под мою задачу!
@echo off
setlocal enableextensions
set file=Cent Browser\chrome.exe
for %%i in (c d e f g h i j k l m n o p q r s t u v w x y z) do >nul 2>&1 dir "%%i:\%file%"&& (
start "" "%%i:\%file%" --profile-directory="Profile 1"
goto next
)
goto :eof
:next
Толко если не затруднит кого может прокоментирует каждую строку. Хочу понять смысл команд каждйй строки. Я только две строки понял.
set file=Cent Browser\chrome.exe --здесь относительный путь до файла.
start "" "%%i:\%file%" --profile-directory="Profile 1" а здесь применение параиетра. Остальное не догоняю.

Доброго
Скопировано@echo off - отключает вывод команд в окне CMD
Скопированоset file=Cent Browser\chrome.exe - задается переменная Скопированоfile, в которой указан путь до файла браузера
Скопированоfor %%i in (c d e f g h i j k l m n o p q r s t u v w x y z) do - перебираются все диски на компьютере (от C до Z).
Скопировано>nul 2>&1 dir "%%i:\%file%" - В этой строке проверяется, существует ли на текущем проверяемом диске chrome.exe.
Если файл успешно найден, скрипт продолжает выполнение т.к указан Скопировано&&, а если не найден, то ищет на следующем диске
СкопированоСкопированоstart "" "%%i:\%file%" --profile-directory="Profile 1"- Если браузер найден на каком-то диске, то он запускается с указанными аргументами
Скопированоgoto next - Переход выполнение скрипта в метку Скопировано:next.
Скопированоgoto :eof - Конец скрипта

Цитата: Vlado от 14.06.2023, 10:42

Доброго
Скопировано@echo off - отключает вывод команд в окне CMD
Скопированоset file=Cent Browser\chrome.exe - задается переменная Скопированоfile, в которой указан путь до файла браузера
Скопированоfor %%i in (c d e f g h i j k l m n o p q r s t u v w x y z) do - перебираются все диски на компьютере (от C до Z).
Скопировано>nul 2>&1 dir "%%i:\%file%" - В этой строке проверяется, существует ли на текущем проверяемом диске chrome.exe.
Если файл успешно найден, скрипт продолжает выполнение т.к указан Скопировано&&, а если не найден, то ищет на следующем диске
СкопированоСкопированоstart "" "%%i:\%file%" --profile-directory="Profile 1"- Если браузер найден на каком-то диске, то он запускается с указанными аргументами
Скопированоgoto next - Переход выполнение скрипта в метку Скопировано:next.
Скопированоgoto :eof - Конец скрипта

Спасибо большое. Благодаря вам я понял логику.

А это зачем?  goto next - Переход выполнение скрипта в метку :next. Если браузер уже запущен? Что делает эта метка? ОНа дествительно нужна?