私はcmd.exeへのショートカットを作成し、私が始めたいフォルダを指定しました。それから私はAdvancedに行き、チェックマークを付けました管理者として実行。
ショートカットをダブルクリックすると、常にC:\Windows\System32
で始まります。
何が足りないの?指定したフォルダからコマンドラインを起動する方法を教えてください。
ターゲットではcmd /k cd c:\crp
を指定するべきです
その根拠を知りたい場合は、潜在的なセキュリティ上の脆弱性から保護するために、Start in
は で昇格時に明示的に無視されます (Windows自体の一部であるバイナリのみ)。
基本的な考え方は、作業ディレクトリにある潜在的に悪意のある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として実行します)。
バロップは正しいです。 [/k cd "\path\to\folder"
]の後に[cmd.exe
]を[ターゲット]フィールドに追加すると、結果として得られる[コマンドプロンプト]ウィンドウでcd
コマンドが実行され、その後は必要に応じてプロンプトが表示されます。別のドライブに変更する必要がある場合は、単なるcd
ではなくcd /d
が必要です。ネットワークドライブに変更する必要がある場合は、代わりにpushd
を使用してください。ターゲットUNCパスがドライブとして自動的にマウントされ、変更されます。
/k
をcmd
に切り替えることは、「このコマンドを実行してkプロンプトを開いたままにする」ことを意味します。 /k
の後の部分はすべてリテラルコマンドとして扱われるので、エスケープする必要はありません。 &&
を使用して複数のコマンドを実行できます。cd "\path\to\folder" && echo Hi!
はそのディレクトリにプロンプトを表示し、Hi!
を先頭に表示します。
Promptを回避しない/k
と同等のものは/c
です( "execute thiscommand"の場合)。
これは実際にはあなたが求めているものではありませんが、私があなたが正しいと理解するとき、これはあなたが回避しようとするものを達成するでしょう。特定のフォルダで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\""
任意のフォルダを右クリックすると、両方のオプションが表示されます。
管理者としてコマンドプロンプトを開くと、 "C:\ Windows\System32"と表示されます。 "cd .."と入力するだけで、 "C:\ Windows"というディレクトリが1つ表示されます。 。もう一度「cd ..」を繰り返して、「cd Users/name/folder」に移動できる場所から「C:\」に移動します。
私のように、別のドライブで管理者としてcmdを開こうとしたときにこの問題に遭遇した人(私の場合は "E:")のために、cd E:/somedir
などをしようとしたときに問題を経験したかもしれません。これを実行しても、実際にはディレクトリが新しいドライブに変更されることはありません。
これがあなたの問題で、あなたが別のドライブの管理者としてcmdを使う必要があるなら、cmd構文は実際にはE:
(またはどんなドライブ文字)でも、cd
コマンドはありません。
だからあなたはちょうどすることができます:
E:
と入力してください(または切り替えたいドライブ文字にコロンを続けてください)。あなたのシステムドライブ(例:C:\ Windows\system32)とは異なるドライブ(例:D:\ something)から起動する必要がある場合は、 "Target"フィールドに次のように入力してください。
cmd /k "cd /d D:\<your directory here>"
ここで重要なのは、cd
の前に/d
オプションを追加することです。