4

Чтобы запустить консоль bash (Windows) от имени администратора в папке проекта, в настоящее время я сначала запускаю bash от имени администратора, а затем вручную перехожу к папке, которая является чрезвычайно трудоемкой. Любой способ получить графический ярлык прямо в эту папку для консоли запуска "от имени администратора"?

4 ответа4

6

Подсистему Windows для Linux (WSL) можно запустить с помощью команды bash (обычно расположенной в C:\Windows\System32\bash.exe) из любой оболочки Windows. Эта команда переводит вас в оболочку Linux bash работающую в текущем каталоге, что означает, что это действительно очень легко сделать.

(Конечно, сказав это, команда оказывается на удивление безобразной.) В общем, вам нужна следующая команда : powershell -c start -verb runas cmd '/c start /D "<dirname>" bash.exe' Мы используем команду start Powershell, которая поддерживает запуск программы от имени администратора через -verb runas Однако, если запускаемая программа находится в System32, ее рабочий каталог всегда будет запускаться как System32. Таким образом, команда cmd (или powershell) снова использует команду start для запуска bash с нужным рабочим каталогом. Однако, как мы устанавливаем этот каталог, меняется.

Обратите внимание, что все эти методы приведут к тому, что приглашение UAC будет отображаться для Powershell.

Использование контекстного меню папки Windows Explorer

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

Если вы хотите скриншоты и тому подобное, смотрите здесь:

  1. Откройте regedit и перейдите к HKEY_CLASSES_ROOT\Directory\shell
  2. Добавьте новый подраздел, назовите его как "AdminBash"
  3. Измените значение по умолчанию (строковое) нового подраздела на то, что вы хотите, чтобы фактический элемент меню сказал, например "Открыть bash от имени администратора здесь"
  4. При желании, если вы хотите, чтобы новый элемент отображался только в том случае, если вы удерживали клавишу shift при щелчке правой кнопкой мыши, добавьте в подраздел значение реестра String под названием "Extended".
  5. Создайте подраздел, называемый "команда" (например, HKCR\Directory\shell\AdminBash\command)
  6. Измените значение по умолчанию для нового подраздела на powershell -c start -verb runas cmd '/c start /D "%V" bash.exe'
  7. Если он не появляется сразу, перезапустите Проводник Windows (один из простых способов сделать это - выйти и снова войти)

Использование ярлыка (.lnk)

Это позволяет вам создать файл, который может быть расположен где угодно, но запускает bash от имени администратора до целевого местоположения.

  1. Щелкните правой кнопкой мыши на рабочем столе или в любом каталоге Windows Explorer (кроме файла) и выберите «Создать» -> «Ярлык».
  2. Задайте место назначения как powershell -c start -verb runas cmd '/c start /D "<tartget>" bash.exe' с заменой на то место, куда вы хотите его открыть.
  3. Установите любые другие свойства, которые вы хотите, например, имя файла, значок и / или сочетание клавиш.

Используя пакетный файл (.cmd или .bat):

Это позволяет вам перетащить файл в любое место, где он будет запускаться как bash от имени администратора в этом месте при двойном щелчке (если он открыт из оболочки Windows, он вместо этого унаследует местоположение этой оболочки, но все же как администратор; это может быть полезно, если вы добавьте его в каталог в вашем Windows PATH).

  1. Создайте пакетный файл (это можно сделать с помощью контекстного меню проводника Windows, как описано выше для текстового файла и изменения расширения, или с помощью любого текстового редактора)
  2. Установите содержимое файла следующим образом: powershell -c start -verb runas cmd '/c start /D "%CD%" bash.exe'
1

Мое приложение "Bash на Ubuntu в Windows" прикреплено к моей панели задач. Все, что мне нужно было сделать, было следующим:

  1. Щелкните правой кнопкой мыши приложение "Bash on Ubuntu в Windows" и выберите « Свойства».

  2. На вкладке « Ярлык » нажмите « Дополнительно».

  3. Установите флажок « Запуск от имени администратора» и примените изменения.

Это оно!

0

Я предполагаю, что вам удобно работать с vim, и вы будете использовать его при предоставлении ответа. Вы можете настроить Bash для Windows на переход по умолчанию в определенный каталог (папку), выполнив следующие действия:

  1. Отредактируйте ваш файл .bashrc . Это должно быть сделано изнутри Bash, потому что вам нужно отредактировать файл через приложение на основе linux. Редактирование этого файла из приложения Windows, скорее всего, приведет к его повреждению. В Bash введите следующее:

    cd ~
    vim .bashrc
    
  2. Затем нажмите a и добавьте следующую строку в конец файла:

    cd /mnt/c/yourFolder/
    

Обратите внимание, что в этом примере предполагается, что ваш файл находится на диске C и в папке yourFolder.

  1. Сохраните изменения. (нажав клавишу ESC , :wq а затем нажмите ENTER ).

  2. Перезапустите Bash.

-1

Я предполагаю, что вы хотите написать "shell" или "cmd" вместо "bash", потому что последний предполагает, что вы используете версию оболочки bash для Windows, которая является * nix оболочкой (для этого я использую Cygwin).

В любом случае вы можете создать ярлык обычным способом. То есть:

  1. Щелкните правой кнопкой мыши, создайте ярлык.
  2. Введите исполняемый файл для ярлыка - либо "cmd" для стандартной оболочки Windows, либо c:\cygwin\bin\bash, если вы на самом деле используете bash. для стандартной оболочки вы можете просто ввести "cmd" для местоположения (не нужно вводить полный путь).
  3. Подтвердите создание ярлыка.
  4. Откройте свойства ярлыка.
  5. Укажите путь, по которому должна выполняться команда.
  6. В дополнительных опциях вы можете включить запуск от имени администратора.
  7. Применить / Подтвердить по мере необходимости.

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