在 Windows cmd 上相当于 sudo !!

在 Windows cmd 上相当于 sudo !!

我正在寻找命令执行程序相当于 Linux和其他的 bang 命令,sudo !!例如!x、和提到的!?x!!:p!!*这里

答案1

你可以试试gsudo适用于 Windows 的 sudo允许以提升的权限运行命令在当前控制台上,提升当前 shell,或者在新控制台上启动提升的命令。

例子

gsudo {command} [arguments]
gsudo md "C:\Program Files\MyApp"

# spawn the current shell (Cmd/PowerShell/PSCore) in a new console window
gsudo -n

# spawn PowerShell in a new console window
gsudo -n powershell

更新:由于gsudo v0.7.1它支持Unix-sudo Bang Bang语法,在CMD上:

  • gsudo !!提升最后执行的命令。
  • gsudo !prefix提升以前缀开头的最后执行的命令。
  • gsudo !?infix提升最后执行的包含中缀的命令。

安装

  • 使用 Scoop 安装:scoop install gsudo
  • 使用 Chocolatey 安装:choco install gsudo

手动安装方法、文档和源代码位于https://github.com/gerardog/gsudo

答案2

要回答问题的另一半,你可以使用任务列表查看或解析命令历史记录。Doskey 在所有受支持的 Windows 版本上默认安装并处于活动状态。

这将显示你的命令历史记录:

doskey /history

您可以解析并将结果推送到 runas,但将其包装在批处理文件中将使其在提示时变得更加简单。

答案3

sudo 等效于runas 命令,用于在不同的用户账户下执行程序。

使用示例:

runas /user:an-administator-account "cmd.exe /C mycommand"

Windows 与 Linux 的不同之处在于,默认情况下,即使管理员帐户也无法提升权限运行,但与非管理员帐户不同,它可以提升自身权限。

有关自我提升的方法,请参阅:

相关内容