Я пытаюсь настроить новую подсистему Windows для Linux (WSL) для открытия из контекстного меню:
До сих пор я следовал учебнику на http://winaero.com/blog/add-bash-to-the-folder-context-menu-in-windows-10/ и смог добавить его, как на картинке выше. Процесс в основном устанавливается следующим реестром Windows:
[HKEY_CURRENT_USER\SOFTWARE\Classes\Directory\Background\shell\openbashhere]
@="Open Bash Here"
"Icon"=hex(2):25,00,55,00,53,00,45,00,52,00,50,00,52,00,4f,00,46,00,49,00,4c,\
00,45,00,25,00,5c,00,41,00,70,00,70,00,44,00,61,00,74,00,61,00,5c,00,4c,00,\
6f,00,63,00,61,00,6c,00,5c,00,6c,00,78,00,73,00,73,00,5c,00,62,00,61,00,73,\
00,68,00,2e,00,69,00,63,00,6f,00,00,00
[HKEY_CURRENT_USER\SOFTWARE\Classes\Directory\Background\shell\openbashhere\command]
@="cmd.exe /c cd /d \"%V\" && bash.exe"
Здесь проблема в строке "cmd.exe /c cd /d \"%V\" && bash.exe"
, я не смог разобраться в команде, чтобы правильно открыть ее в развернутом виде. Я искал и нашел несколько тем об этом:
- максимизация окна командной строки
- Почему окно командной строки Windows не достигает максимального размера экрана?
- Добавление Bash в Ubuntu в Windows 10 в контекстное меню проводника (проблемы)
- Как я могу запустить cmd.exe свернутым?
Я попытался сделать эту сложную игру:
cmd.exe /c start /max cmd.exe
Это работает, если я наберу его в диалоговом окне «Выполнить»:
Но если я попытаюсь поместить его в приведенную выше запись реестра, он не будет развернут в развернутом виде:
[HKEY_CURRENT_USER\SOFTWARE\Classes\Directory\Background\shell\openbashhere\command]
@="cmd.exe /c start /max cmd.exe /c cd /d \"%V\" && bash.exe"
Позже я также попробовал другой грязный трюк с ярлыком "C:\ProgramData\Microsoft\Windows\Start Menu\cmd.exe.lnk"
, который открывает максимизированный cmd, но когда я помещаю его вместо cmd.exe
:
[HKEY_CURRENT_USER\SOFTWARE\Classes\Directory\Background\shell\openbashhere\command]
@="\"C:\ProgramData\Microsoft\Windows\Start Menu\cmd.exe.lnk\" /c cd /d \"%V\" && bash.exe"
Windows выдает эту ошибку: