アドレスバーからコマンドプロンプトを管理者権限で起動する。

フォルダを開いて、Alt+dを押し、アドレスバーに「cmd」と打ってEnterを押すと、そのディレクトリでコマンドプロンプトが開く。

Winキー+rでファイル名を指定して実行を開き、「cmd」と打った後、Ctrl+Shift+Enterと押すと、管理者権限でコマンドプロンプトが開くので、アドレスバーも同じかと思いきや、「http://www.cmd.co.jp/」というアドレスに変換され、ブラウザが開く。。。

何かやり方無いか探してみたところ、テキストファイルを新規作成し、以下のコードを貼付け。拡張子を.txtから.batに変更し、「C:\Windows\System32」に入れる。これで、作成した.batファイル名をアドレスバーに入れると管理者権限でコマンドプロンプトが開けるとのこと。

例えば、バッチファイル名をcmda.batとした場合、アドレスバーにcmdaと入力すれば管理者権限でコマンドプロンプトが開く。

@rem cmda_NG.bat
powershell start-process cmd -verb runas -ArgumentList '/k ""cd /d %CD%""'

しかしながら、このバッチファイルは、フォルダ名に「&」(半角アンド)が入っていると、エラーが出て開けない。powershellでは、「&」は呼び出し演算子とBackground 演算子という役目が割り当てられていることが原因の模様。

C:\a&b>cmda_NG.bat

C:\a&b>powershell start-process cmd -verb runas -ArgumentList '/k ""cd /d E:\a  & b""'
文字列に終端記号 ' がありません。
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : TerminatorExpectedAtEndOfString

'b""'' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

対策版

以下の様なコマンドに直すと、&が入ったフォルダでも管理者権限でコマンドプロンプトが開けるようになった。

@rem cmda.bat
powershell start-process cmd -verb runas -ArgumentList '/k cd /d """%CD%"""'

アドレスバーにcmdaで管理者権限のコマンドプロンプトが開けるのは地味に便利。

 

コメント

PAGE TOP
Ads Block Detector Powered by codehelppro.com
Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

タイトルとURLをコピーしました