Вопрос или проблема
У меня есть .bat файл, который я хочу запустить в Cmder, а не в CMD.
echo off
:begin
echo Выберите задачу:
echo =============
echo 1) P1
echo 2) P2
echo -
set /p op=Введите вариант:
if "%op%"=="1" goto op1
if "%op%"=="2" goto op2
goto begin
:op1
start cmd /k cd C:\Users\**\Documents\Projects\P1
cd C:\Users\**\Documents\Projects\P1
grunt serve
:op2
start cmd /k cd C:\Users\**\Documents\Projects\P2
cd C:\Users\**\Documents\Projects\P2
grunt serve
:end
Я хочу, чтобы при нажатии на иконку .bat открывался Cmder и выполнялись команды, а также открывалась новая вкладка в Cmder, как я делал в cmd (start cmd /k cd C:\Users\**\Documents\Projects\P1
).
Спасибо заранее.
Я нашел это, но это не сильно помогло:
https://github.com/cmderdev/cmder/issues/457
Сохраните свой код выше в %CMDER_ROOT%\config\user-startup.cmd
, и он будет автоматически запускаться при старте Cmder. Папка %CMDER_ROOT%
будет находиться там, где находится Cmder.exe.
Ответ о том, чтобы использовать файл user-startup.cmd, не сработал для меня на данный момент; однако я отредактировал файл user_profile.cmd, чтобы вызвать свой батник, и это сработало.
Ответ или решение
Запуск .bat файла с помощью Cmder
Для выполнения .bat файла с использованием оболочки Cmder, вместо стандартного командного интерпретатора Windows (CMD), необходимо внести некоторые изменения в вашу .bat
программу и правильно настроить Cmder.
Шаг 1: Изменение .bat файла
В вашем первоначальном скрипте предусмотрена команда start cmd /k
, которая открывает новый экземпляр CMD. Для запуска в Cmder, необходимо сделать следующее:
- Измените команду
start cmd /k
на вызов Cmder, используя его путь к исполняемому файлу. - Убедитесь, что необходимо отобразить правильный путь к вашим проектам.
Вот пример изменения вашего .bat файла:
@echo off
:begin
echo Выберите задачу:
echo =============
echo 1) P1
echo 2) P2
echo -
set /p op=Введите номер опции:
if "%op%"=="1" goto op1
if "%op%"=="2" goto op2
goto begin
:op1
start "" "%CMDER_ROOT%\Cmder.exe" /START "C:\Users\**\Documents\Projects\P1" /RELOAD
cd C:\Users\**\Documents\Projects\P1
grunt serve
:op2
start "" "%CMDER_ROOT%\Cmder.exe" /START "C:\Users\**\Documents\Projects\P2" /RELOAD
cd C:\Users\**\Documents\Projects\P2
grunt serve
:end
Здесь вместо cmd
, мы используем путь к Cmder.exe
, добавляя параметр /START
, чтобы установить активную директорию и /RELOAD
, чтобы обновить состояние.
Шаг 2: Создание пользовательского скрипта
Если вы хотите, чтобы ваш скрипт запускался автоматически при старте Cmder, сохраните его в файл %CMDER_ROOT%\config\user-startup.cmd
. Это отлично подходит для автоматизации запуска ваших проектов при открытии Cmder.
- Найдите каталог установки Cmder.
- Перейдите в папку
config
. - Создайте файл
user-startup.cmd
, если его еще нет, и вставьте содержимое вашего изменённого скрипта.
Шаг 3: Настройка файлов в Cmder
Для того, чтобы ваш скрипт работал должным образом, необходимо убедиться в правильной конфигурации переменной окружения CMDER_ROOT
. Эта переменная должна указывать на каталог, в котором установлено Cmder.
Дополнительные рекомендации
- Убедитесь, что
grunt
и все необходимые зависимости установлены для ваших проектов. - Рассмотрите возможность использования дополнительных параметров Cmder для улучшения пользовательского опыта, например, для открытия вкладок.
Заключение
Запуск .bat файлов с использованием Cmder — это отличная возможность для улучшения рабочего процесса и более комфортного взаимодействия с проектами. Правильная настройка позволяет использовать преимущества мощной функциональности Cmder и увеличить вашу продуктивность.
Если у вас возникнут дополнительные вопросы, не стесняйтесь их задавать!