Windowsのシェルコンテキストメニューを拡張する場合(たとえば、ディレクトリに「ここでコマンドを開く」プロンプトを追加する場合)、「コマンド」キーをレジストリに作成する必要があります。
この「コマンド」キーの値は、明らかに任意の有効なコマンドラインにすることができます。
このコマンドライン内で使用できる「特殊変数」を知りたいのですが。
たとえば、次のコマンドを使用して、ディレクトリのコンテキストメニュー(*)内からcmdウィンドウを開きます。
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\""
ショートカットメニューの拡張MSDNの記事に対するChrisGuzakのコメントには、使用可能なさまざまな「コマンドライン変数」がリストされています。
%* –すべてのパラメーターに置き換えます。
%〜–2番目のパラメーター以降のすべてのパラメーターに置き換えます。
%0または%1 –最初のファイルパラメータ。たとえば、「C:\ Users \ Eric \ Desktop \ NewTextDocument.txt」のようになります。通常、これは引用符で囲む必要があり、アプリケーションのコマンドライン解析では引用符を受け入れて、名前にスペースが含まれ、さまざまなコマンドラインパラメーターを使用してファイルを明確にする必要があります(これはセキュリティのベストプラクティスであり、MSDNで言及されていると思います)。
%<n>(<n>は2〜9)–n番目のパラメーターに置き換えます。
%s –コマンドを表示します。
%h –ホットキー値。
%i –共有メモリハンドルに格納されているIDListがここに渡されます。
%l –最初のパラメーターの長いファイル名形式。Win32 / 64アプリケーションには長いファイル名が渡されますが、Win16アプリケーションには短いファイル名が渡されることに注意してください。%lを指定すると、アプリケーションの種類を調べる必要がなくなるため、推奨されます。
%d –最初のパラメーターのデスクトップ絶対解析名(ファイルシステムパスを持たないアイテムの場合)。
%v –なしの動詞の場合、すべてを意味します。渡されたパラメータがない場合、これは作業ディレクトリです。
%w –作業ディレクトリ。
したがって、%Lまたは%lを優先する必要があります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加