回答:
ターゲットでは、指定する必要があります cmd /k cd c:\crp
背後にある理由が必要な場合は、潜在的なセキュリティ脆弱性から保護するために、昇格が実行されるときに(Windows自体の一部であるバイナリでのみStart in
)明示的に無視されます。
基本的な考え方は、作業ディレクトリにある潜在的に悪意のあるDLLが現在の管理者以外のユーザーによって制御され、高い特権でロードされる可能性があるということです。これを防ぐため、UACは作業ディレクトリをリセットします。ショートカットの「開始」は昇格が発生する前に設定されるため、昇格中にリセットされます。理想的な世界では、この保護はすべての昇格に適用されますが、作業ディレクトリが保持されることを期待する一部のサードパーティプログラムを壊すため、組み込みのWindowsバイナリにのみ適用されます。
他の回答は、引数を使用して、昇格が発生した後にcmd
作業ディレクトリを変更するように昇格に伝えることにより、これをバイパスします。/k
エクスプローラー内には、Windows 8のリボンの導入以来、クイックアクセスツールバー(QAT)があります。- File
> open CMD prompt
-> Open CMD prompt as admin
をクリックし、右クリックしてQATに固定することを選択します。
これで、好きなすべてのフォルダでこのアイコンをクリックすると、cmdがこのフォルダで開きます。
QATからcmdを管理者としてより速く実行するには、ALTキーを押します。QATの位置の番号が表示されます。
数字を押すと、この位置にあるツールが起動します(私の場合、4はcmdをadminとして実行します)。
powershell
では、cmd
オプションの代わりに使用できます。
Barlopは正しいです。/k cd "\path\to\folder"
[ターゲット]フィールドに追加すると(後にcmd.exe
)、結果のコマンドプロンプトウィンドウがcd
コマンドを実行し、必要に応じて処理するプロンプトが表示されます。あなたが別のドライブに変える必要があるなら、あなたはcd /d
ただであるよりむしろ必要でしょうcd
。ネットワークドライブに変更する必要がある場合は、pushd
代わりに使用します。ターゲットUNCパスをドライブとして自動的にマウントし、変更します。
/k
スイッチcmd
手段は、「このコマンドを実行すると、kはプロンプト開いEEP。」以降はすべて/k
リテラルコマンドとして扱われるため、エスケープについて心配する必要はありません。を使用&&
して複数のコマンドを実行できます。cd "\path\to\folder" && echo Hi!
そのディレクトリにプロンプトが表示Hi!
され、上部に印刷されます。
同等の/k
プロンプトの周りを維持しないことがある/c
(「これを実行するためにCを ommand」)。
これは実際にはあなたが求めているものではありませんが、私があなたを正しく理解すると、これはあなたが回避しようとするものを達成します。特定のフォルダでshift
+ rightclick
を試して、を選択しますopen command window here
。それがあなたの問題ではない場合は、私に知らせてください。これは削除します。
そして(ボブのおかげで、これも以前は知りませんでした)この昇格を行うことさえ可能です。
ボブのコメントからの情報源。
[...]ここで、必要なキーを追加して、システムに接続されているすべてのドライブ文字の昇格したプロンプトを開くこともできます。これは、レジストリにエントリを追加することで簡単に実現できます。以下のテキストをコピーしてテキストファイルに貼り付け、「admin.reg」などの名前を付けてダブルクリックします。
Windows Registry Editor Version 5.00 [-HKEY_CLASSES_ROOT\Directory\shell\runas] [HKEY_CLASSES_ROOT\Directory\shell\runas] @="Open command window here as Administrator" "HasLUAShield"="" [HKEY_CLASSES_ROOT\Directory\shell\runas\command] @="cmd.exe /s /k pushd \"%V\"" [-HKEY_CLASSES_ROOT\Directory\Background\shell\runas] [HKEY_CLASSES_ROOT\Directory\Background\shell\runas] @="Open command window here as Administrator" "HasLUAShield"="" [HKEY_CLASSES_ROOT\Directory\Background\shell\runas\command] @="cmd.exe /s /k pushd \"%V\"" [-HKEY_CLASSES_ROOT\Drive\shell\runas] [HKEY_CLASSES_ROOT\Drive\shell\runas] @="Open command window here as Administrator" "HasLUAShield"="" [HKEY_CLASSES_ROOT\Drive\shell\runas\command] @="cmd.exe /s /k pushd \"%V\""
ここで、任意のフォルダーを右クリックすると、両方のオプションが表示されます。
私のように、別のドライブ(私の場合は「E:」)で管理者としてcmdを開こうとしたときにこれにつまずいた人は、しようとしたときなどに問題を経験したかもしれませんcd E:/somedir
。これを行っても、実際にはディレクトリが新しいドライブに変更されることはありません。
これが問題であり、別のドライブでadminとしてcmdを使用する必要がある場合、cmd構文は実際にE:
はcd
コマンド(またはドライブ文字)だけで、コマンドはありません。
したがって、次のことができます。
E:
(または切り替えたいドライブ文字の後にコロンを入力します)管理者としてコマンドプロンプトを開き、「C:\ Windows \ System32」と表示されたら、「cd ..」と入力するだけで、「C:\ Windows」というディレクトリが1つ表示されます。 。もう一度「cd ..」を繰り返して「C:\」に移動します。ここから「cd Users / name / folder」に移動できます