3

Я успешно добавил приглашение Bash on Ubuntu в контекстное меню, добавив следующие ключи реестра

[HKEY_CLASSES_ROOT\Directory\shell\bash]
@="Bash Here"
[HKEY_CLASSES_ROOT\Directory\shell\bash\command]
@="C:\\Windows\\System32\\bash.exe"

Теперь вышеприведенное решение имеет две основные проблемы один вопрос, который я не знаю, как решить.

Проблема в том, что путь, по которому он запускается, - это путь родительского каталога, а не тот, по которому щелкают правой кнопкой мыши.

Однако я попытался включить дополнительные аргументы в команду запуска, в результате чего приглашение было закрыто непосредственно перед тем, как даже появилась возможность прочитать любую информацию об ошибке.

Команда по умолчанию из ярлыка C:\Windows\System32\bash.exe ~ действительно работает и помещает меня в /home/user/

ОБНОВЛЕНИЕ: похоже, что при выполнении C:\Windows\System32\bash.exe используется набор настроек, хранящихся в [HKEY_CURRENT_USER\Console\%SystemRoot%_system32_bash.exe] а также некоторые (например, цвета) из расположения по умолчанию [HKEY_CURRENT_USER\Console] , поэтому после сохранения этих настроек они успешно перезагрузятся. Принимая во внимание, что ярлык, созданный при установке, похоже, использует параметры, назначенные cmd.exe (необходимо подтвердить)

ОБНОВЛЕНИЕ 2: Пожалуйста, не предлагайте решения, включающие запуск bash.exe изнутри cmd.exe

2 ответа2

2

Простое решение этой проблемы - запустить cmd. Эта команда устанавливает текущий рабочий каталог в выбранную папку, а затем запускает bash.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\Bash]
@="Bash Here"

[HKEY_CLASSES_ROOT\Directory\shell\Bash\command]
@="C:\\Windows\\System32\\cmd.exe /k cd %1 && C:\\windows\\system32\\bash.exe"

Протестировано и работает, просто сохраните приведенный выше код в текстовый файл и переименуйте расширение в .reg

Если вы хотите выйти после, а не возвращаться в CMD, просто введите && exit в конце команды

2

Вы можете найти пошаговое руководство, как это сделать, на этой странице: http://winaero.com/blog/add-bash-to-the-folder-context-menu-in-windows-10/

Кроме того, они предлагают готовые файлы реестра. Я проверил файлы реестра, и они работают на моей системе Win10 x64.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .