Я пытался запустить несколько программ через командный файл и столкнулся с проблемами, но это в прошлом.
Я относительно новичок в сценариях и командной строке, и это будет мой вопрос: в чем разница между следующими сценариями cmd?
Этот принят
Start Chrome
(Я предполагаю, что некоторые установленные программы распознаются по названию, хотя dir находится не там, где chrome.exe, который программа еще запускает, ключи реестра играют в этом роль?)
этот тоже работает
cd "FOO_DIR"
start FOO.exe
Однако это не
start "FOO_DIR\FOO.exe"
(открывается новое окно без запуска FOO.exe)
start /B "FOO_DIR\FOO.exe"
(снова пишет текст об авторских правах и больше ничего не делает)
(ОС Windows 7 x64)
start
что заголовок ожидается в качестве первого аргумента (в противном случаеstart chrome
он не будет работать), а в том, что если его первый аргумент заключен в кавычки, он ожидает, что он будет заголовком.Попробуйте добавить
"title"
или хотя бы""
послеstart
этого:или же
Основной причиной проблемы является то, что первый аргумент в кавычках "" интерпретируется как
title
параметр для новогоcmd
окна.Также помогает взглянуть на справочник команд (ссылка)
источник
start chrome
я считаю, что вызов chrome работает, потому что он имеет запись в реестре где-то здесь: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ App Paths Если вы ищете chrome.exe, вы, скорее всего, найти запись, содержащую полный путь к исполняемому файлу.