質問: コンテキストメニューのシェルコマンドを記述するときに使用できる特殊変数 windowsのシェルコンテキストメニューを拡張する場合(たとえば、[ここにコマンドを開く]プロンプトをディレクトリに追加するため)、レジストリに「コマンド」キーを作成する必要があります。この「コマンド」キーの値は、明らかに、任意の有効なコマンドラインにすることができます。このコマンドラインで使用できる「特殊変数」を知りたい。たとえば、ディレクトリのコンテキストメニュー(*)からコマンドウィンドウを開くには、次のコマンドを使用します。cmd.exe /e:on /f:on /s /k pushd "%v" %vが実際に何を意味するのか、またはそのような変数の完全なリストが何であるのかについての参照は見つかりません。(*)このために次のレジストリキーが作成されます。[hkey_local_machine\software\classes\directory\shell\cmdshell] @=open command prompt here" hkey_local_machine\software\classes\directory\shell\cmdshell\command] @="cmd.exe /e:on /f:on /s /k pushd \"%v\""
回答: これがcmd.exeの引数/構文です /kは、次の文字列で指定されたコマンドを実行して、コマンドpushd %vを実行します。 引数pushdが受け入れる だけなので、そのパスは%v a右クリックされたフォルダーのパスを含む、エクスプローラーによって提供される変数。