По поводу пробелов в пути
http://ab57.ru/cmdlist/start.html
...
при попытке выполнить следующую команду:
start "C:\Program Files\FAR\FAR.EXE"
Из-за наличия пробела в пути к исполняемому файлу, строка для запуска FAR.EXE должна быть заключена в двойные кавычки, однако формат входных параметров для start предполагает наличие заголовка окна, также заключаемого в двойные кавычки, в результате чего "C:\Program Files\FAR\FAR.EXE" интерпретируется не как исполняемая программа, а как заголовок окна - будет выполнен запуск интерпретатора CMD с заголовком окна "C:\Program Files\FAR\FAR.EXE" . Для того, чтобы подобного не случилось нужно использовать любой, пусть даже пустой, заголовок:
start "" "C:\Program Files\FAR\FAR.EXE"
Оттуда же о запуске Bat-файлов:
При выполнении запуска командных файлов с помощью команды start, окно интерпретатора команд (cmd.exe) запускается с параметром /K, т. е. после выполнения команд в командном файле завершения cmd.exe не происходит. Например, имеется командный файл test.bat следующего содержания:
ECHO TEST
При его запуске командой start test.bat выполнится echo и окно командного процессора останется открытым в режиме ожидания ввода команд пользователем. Этот факт нужно учитывать при использовании команды start в сценариях, выполняющихся автоматически без вмешательства человека-оператора. Для закрытия окна CMD после выполнения командного файла достаточно в его конец добавить команду EXIT.
ECHO TEST
EXIT