Windowsで「sudo」コマンドを実行する方法



How Runsudocommand Windows



解決:

ありませんWindowsのsudoコマンド。最も近いものは「管理者として実行」です。

あなたはを使用してこれを行うことができます管理者の信頼レベルでrunasコマンドを実行するか、UIでプログラムを右クリックして、 '管理者として実行。'




すべての答えは、コマンドを昇格させる方法を説明しています 新着 コンソールホスト。

私を面白がらせたのは、それらのツールのどれもが次のように動作しないということでした* nix sudo、コマンドを内部で実行できるようにする 現在 コンソール。



だから、私は書いた: gsudo

ソースコードhttps://github.com/gerardog/gsudo

インストール

スクープ経由



  • まだ持っていない場合は、スクープをインストールします。それで:
スクープインストールgsudo

またはChocolatey経由

choco install gsudo

手動インストール:

  • https://github.com/gerardog/gsudo/releases/から最新のリリースをダウンロードし、解凍して、パスに追加します

デモ

gsudo demo


メモ帳を開き、次のコードを貼り付けます。

@echo off powershell -Command'Start-Process cmd -Verb RunAs -ArgumentList '/ c cd / d%CD%&&%*' '@echo on

次に、ファイルを次のように保存しますsudo.cmd。このファイルをコピーして、C: Windows System32またはパスを追加しますsudo.cmdはPATH環境変数に対するものです。

コマンドプロンプトを開くと、次のようなものを実行できます。sudo start ..

コマンドの実行時に管理コマンドプロンプトウィンドウを開いたままにする場合は、メモ帳のコードを次のように変更します。

@echo off powershell -Command'Start-Process cmd -Verb RunAs -ArgumentList '/ k cd / d%CD%&&%*' '@echo on

説明:

powershell-Commandはpowershellコマンドを実行します。

Start-Processは、プロセス(この場合はコマンドプロンプト)を開始するPowerShellコマンドです。

-Verb RunAsは、adminとしてコマンドを実行します。

-Argument-Listは、引数を指定してコマンドを実行します。

私たちの議論は'/c cd /d %CD% && %*'.%*はすべての引数を意味するので、sudo foo bar、コマンドプロンプトで実行されますパラメータがfooとbarであるため、foo bar、および%* 戻り値fooバー。cd / d%CD%は、現在のディレクトリに移動するコマンドです。これにより、昇格されたウィンドウを開いたときに、ディレクトリが通常のウィンドウと同じになります。 NS&&は、最初のコマンドが成功した場合、2番目のコマンドを実行することを意味します。

NS/ cは、コマンドの終了後にウィンドウを閉じるためのcmdパラメーターであり、/ kは、ウィンドウを開いたままにするためのcmdパラメーターです。

現在のディレクトリコードにとどまっていることについては、AdamPlocherの功績によるものです。