如何创建“以管理员身份运行” bash 快捷方式

如何创建“以管理员身份运行” bash 快捷方式

要在项目文件夹中以管理员身份运行 bash 控制台 (Windows),目前我首先以管理员身份启动 bash,然后手动导航到该文件夹​​,这非常费力。有没有办法直接在此文件夹中获取“以管理员身份运行”bash 控制台的图形快捷方式?

答案1

可以通过任何 Windows shell 中的bash命令(通常位于C:\Windows\System32\bash.exe)启动 Windows Subsystem for Linux (WSL)。此命令会将您带入 Linux bashshell在当前目录中运行,这意味着这实际上非常容易做到。

(当然,话虽如此,命令结果却出奇地丑陋。)通常,您需要的命令是:powershell -c start -verb runas cmd '/c start /D "<dirname>" bash.exe'我们使用 Powershell 的start命令,它支持通过 以管理员身份启动程序-verb runas。但是,如果正在运行的程序在 System32 中,则其工作目录将始终以 System32 启动。因此,让cmd(或powershell)再次使用其start命令来启动bash 使用所需的工作目录. 不过,我们设置该目录的方式有所不同。

请注意,所有这些方法都会导致 UAC 提示看起来像是 Powershell。

使用 Windows 资源管理器文件夹上下文菜单

这样您就可以右键单击任何文件夹以以管理员身份启动 bash。

如果你想要截图等,请参阅这里

  1. 打开regedit并导航到 HKEY_CLASSES_ROOT\Directory\shell
  2. 添加一个新的子项,将其命名为“AdminBash”
  3. 将新子项的默认(字符串)值更改为您希望实际菜单项显示的内容,例如“在此处以管理员身份打开 bash”
  4. shift或者,如果您希望新项目仅在右键单击时出现,请向子项添加一个名为“Extended”的字符串注册表值
  5. 创建一个名为“command”的子子项(例如 HKCR\Directory\shell\AdminBash\command)
  6. 将新子项的默认值更改为powershell -c start -verb runas cmd '/c start /D "%V" bash.exe'
  7. 如果它没有立即显示,请重新启动 Windows 资源管理器(执行此操作的一种简单方法是注销并再次登录)

使用快捷方式(.lnk)

这使您可以创建一个可以位于任何位置的文件,但以管理员身份启动 bash 到目标位置。

  1. 右键单击桌面或任何 Windows 资源管理器目录(而不是文件),然后选择新建 -> 快捷方式
  2. 将目的地设置为powershell -c start -verb runas cmd '/c start /D "<tartget>" bash.exe'替换为您要打开的位置。
  3. 设置您想要的任何其他属性,如文件名、图标和/或快捷键。

使用批处理(.cmd 或 .bat)文件:

这样,您就可以将文件拖放到任何您想要的位置,双击该文件时将在该位置以管理员身份启动 bash(如果从 Windows shell 打开,它将继承该 shell 的位置,但仍以管理员身份运行;如果您将其添加到 Windows PATH 中的目录,这可能会很有用)。

  1. 创建批处理文件(可以使用 Windows 资源管理器上下文菜单(如上所示)创建文本文件并更改扩展名,或者使用任何文本编辑器)
  2. 将文件的内容设置为以下内容:powershell -c start -verb runas cmd '/c start /D "%CD%" bash.exe'

答案2

我的“Windows 上的 Ubuntu 上的 Bash”应用程序已固定在任务栏上。我所要做的就是如下操作:

  1. 右键单击“Windows 上的 Ubuntu 上的 Bash”应用程序并选择特性

  2. 在下面捷径选项卡,点击先进的

  3. 选择以管理员身份运行复选框并应用更改。

就是这样!

答案3

我假设您熟悉使用 vim,并在提供答案时使用它。您可以通过执行以下操作将 Bash for Windows 配置为默认导航到特定目录(文件夹):

  1. 编辑.bashrc文件。这必须在 Bash 中完成,因为您需要通过基于 Linux 的应用程序编辑文件。在 Windows 应用程序内部编辑此文件很可能会导致其损坏。 在 Bash 中输入以下内容:

    cd ~
    vim .bashrc
    
  2. 接下来按并将a以下行附加到文件末尾:

    cd /mnt/c/yourFolder/
    

请注意,此示例假设您的文件位于 C 盘下,名为 yourFolder 的文件夹中。

  1. 保存更改。(通过按下ESC键,写入:wq然后按下ENTER键)。

  2. 重新启动 Bash。

答案4

我假设您的意思是写“shell”或“c​​md”而不是“bash”,因为后者会表明您正在运行 Windows 版本的 bash shell,它是一个 *nix shell(我使用 Cygwin)。

无论哪种情况,您都可以按照通常的方式创建快捷方式。即:

  1. 右键,创建快捷方式。
  2. 输入快捷方式的可执行文件 - 标准 Windows Shell 为“cmd”,如果您实际使用 bash,则为 c:\cygwin\bin\bash。对于标准 Shell,您只需键入“cmd”作为位置(无需输入完整路径)。
  3. 确认创建快捷方式。
  4. 打开快捷方式的属性。
  5. 设置命令应运行的路径。
  6. 在高级选项中,您可以启用以管理员身份运行
  7. 根据需要申请/确认。

相关内容