雑記帳

整理しない情報集

管理者昇格コマンド

コマンドプロンプトで作業をしているとき、管理者権限でコマンドを実行したいことがよくあります。その際、毎回コマンドプロンプトを右クリックで管理者として起動し直すのは面倒なので、バッチファイルでコマンドを作成してみました。パスの通っているディレクトリに置いておくと便利です。

@echo off
powershell -command start-process cmd -argumentlist """/K cd /d %~dp0""" -verb runas >nul
if not %ERRORLEVEL%==0 echo [ERROR] Couldn't get Administrators permission. & exit /b
exit

このコマンドは今まで使用していたプロンプトを閉じます。それまで使っていたプロンプトを閉じたくない場合は、最終行のexitexit /bに変更してください。

仕組み

PowerShellからコマンドプロンプトを起動しています。PowerShellのアプリケーション起動コマンドであるstart-processには管理者で起動するためのオプションがあり、それを利用して起動しています。

また、このコマンドはcdコマンドを仕込んであるので、カレントディレクトリを引き継ぎます。