sudo !! эквивалент в Windows cmd

sudo !! эквивалент в Windows cmd

Я ищуcmd.exeэквивалентно командам Linux sudo !!и другим bang-командам, таким как !x, !?x, !!:pи !!*упомянутымздесь.

решение1

Можешь попробовать gsudo,sudo для windowsчто позволяет либо запускать команды с повышенными правамина текущей консоли, чтобы повысить уровень текущей оболочки или запустить повышенные команды на новой консоли.

Примеры

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 тем, что по умолчанию даже учетная запись администратора не работает с повышением прав, хотя, в отличие от учетной записи без прав администратора, она может повышать права сама себя.

О методах самовозвышения см.:

Связанный контент