Пакетный файл для динамического поиска установленного пути Chrome

Мне нужно проверить браузер Chrome в любой системе Windows, запустив файл .bat. Пакетный файл должен проверять, установлен ли в системе браузер Chrome. если он установлен, вы хотите сохранить путь в переменной и использовать его. Я создаю приложение для хромированного киоска ... поэтому мне нужно динамически найти путь к хрому. Пожалуйста, помогите мне

start  "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --kiosk --fullscreen --incognito "website url" 

person learner    schedule 20.04.2018    source источник
comment
where chrome при условии, что он установлен правильно.   -  person Gerhard    schedule 20.04.2018
comment
если пользователь изменит установленное местоположение Chrome по умолчанию, я хочу динамически идентифицировать это местоположение, когда я запускаю файл bat. Это мое требование. .exe, но в windows 7 он другой..   -  person learner    schedule 20.04.2018
comment
ты пробовал where chrome ?   -  person Gerhard    schedule 20.04.2018
comment
Я использую Windows 10, здесь он установлен в C:\Program Files (x86)\Google\Chrome\Application\chrome.exe..   -  person learner    schedule 20.04.2018
comment
нет, я спрашиваю, вы пробовали команду? откройте cmd.exe и введите where chrome затем нажмите Enter   -  person Gerhard    schedule 20.04.2018
comment
я использую файл .bat .. не windows cmd ..   -  person learner    schedule 20.04.2018
comment
Пакетные файлы — это файлы, в которых хранятся пакеты команд. В любом случае, смотрите мой ответ.   -  person Gerhard    schedule 20.04.2018


Ответы (2)


После нашего обсуждения в чате мы обнаружили, что если chrome не установлен, он не запустится. поэтому просто используйте:

start "" "chrome" --kiosk --fullscreen --incognito "https://www.netflix.com/"

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

Это означает, что если chrome не найден по умолчанию с помощью start, он не установлен.

Старые попытки:

Этот файл batch предполагает, что хром установлен правильно:

for /F "delims=" %%a in ('where chrome') do (
start "" "%%a" --kiosk --fullscreen --incognito "website url"
)
pause

Как только вы убедитесь, что он работает, просто удалите echo из последней строки, чтобы фактически выполнить запуск.

Следующий вариант, учитывая, что where может не сработать, — слишком искать файл.

pushd C:
cd\
for /F "delims=" %%a IN ('dir /b /a-d /s chrome.exe') do (
  start "" "%%a" --kiosk --fullscreen --incognito "https://www.netflix.com/in/"
)
pause
person Gerhard    schedule 20.04.2018
comment
спасибо за ваш ответ, надеюсь, вы понимаете мой вопрос... я хочу использовать это установленное местоположение в переменной и использовать эту переменную для своего кода вместо полного пути, введенного вручную - person learner; 20.04.2018
comment
@learner точно скопируйте код из моего ответа, вставьте в файл и назовите его myfile.cmd НЕ изменяйте ничего в пакетном файле, сохраните его и запустите, а затем дайте мне знать, что произойдет. - person Gerhard; 20.04.2018
comment
@learner Попробуйте сейчас, пожалуйста .. вам нужно было удалить эхо, пожалуйста, внимательно прочитайте ответы. В любом случае, скопируйте код еще раз и попробуйте - person Gerhard; 20.04.2018
comment
в окне cmd я получаю ИНФОРМАЦИЯ: Не удалось найти файлы для данного шаблона (ов). - person learner; 20.04.2018
comment
тогда есть проблемы с вашими установками. - person Gerhard; 20.04.2018
comment
я уже запускаю свой bat-файл, и он отлично работает в моей системе. Если возникнут какие-либо проблемы с установкой, мой bat тоже не будет работать. - person learner; 20.04.2018
comment
Нет, я к тому, что установка не ставит пути в среду, работает да, но where не найдет. Я обновлю свое решение сейчас. - person Gerhard; 20.04.2018
comment
Давайте продолжим обсуждение в чате. - person learner; 20.04.2018

Простое решение:

start "" chrome.exe --kiosk --fullscreen --incognito "website url"

Необходимо указать пустой заголовок с помощью "", иначе команда START интерпретирует первую строку в двойных кавычках как необязательную строку заголовка. Запустите в окне командной строки start /?, чтобы получить справку по этой команде и ее параметрам.

Причина успешного запуска Chrome без полного пути и без включения пути к папке в переменную среды PATH объясняется в ответе на Где START ищет исполняемые файлы?

chrome.exe (обычно) правильно зарегистрирован в соответствии с рекомендациями Microsoft для приложения Регистрация. Таким образом, START может найти путь к самому приложению Chrome.

Решение с первой проверкой, установлен ли и зарегистрирован ли вообще Chrome:

@echo off
%SystemRoot%\System32\reg.exe query "HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\chrome.exe" >nul 2>&1
if not errorlevel 1 start "" chrome.exe --kiosk --fullscreen --incognito "website url"
person Mofi    schedule 20.04.2018