1

以下の方法で使用したところ、win32.hlp は正常に開くことができました。

0:000> aS api .shell -x winhlp32.exe -k createfile win32.hlp
0:000> w

ただし、引数 $arg1 を使用したい場合は、次のように、

0:000> aS api .shell -x winhlp32.exe -k ${$arg1} win32.hlp
0:000> w createfile

次のエラー メッセージが表示されます。

" win32.hlp createfile ファイルが見つかりません。このファイルを自分で探しますか? "

何か案は?

[アップデート]

ほとんどの場合、snoone の方法で問題なく動作しますが、次のようなダイアログが表示されることがあります。

明らかに、ファイル名「win32.hlp」は検索ワードの一部として誤って認識されます。私は何を間違っていますか?

ここに画像の説明を入力

4

2 に答える 2

1

Jason の言うとおりです。このような引数を渡すことはできません。これを実装するには、スクリプト ファイルを介して間接的に行う必要があります。

たとえば、ファイル e:\hlplaunch.wbs を作成し、次の行を挿入します。

.shell -x winhlp32.exe -k ${$arg1} win32.hlp

次に、シェルを直接作成する代わりに、エイリアスを作成してスクリプトを起動します。

aS ${/v:api} "$$>a<e:\\hlplaunch.wbs"

次に、使用していたのと同じコマンドを使用してヘルプ ビューアーを起動できます。

api createfile
于 2012-09-05T14:17:59.417 に答える
1

これは不可能だと思います。これは、エイリアスとスクリプトの混同のようです。

デバッガー コマンド ウィンドウでのエイリアスの使用

エイリアスを定義したら、それを任意のコマンド エントリで使用できます。エイリアス名は、同等のエイリアスに自動的に置き換えられます。したがって、エイリアスを式またはマクロとして使用できます。

したがって、エイリアスは単純なテキスト置換であり、スクリプト ファイルのように引数が渡されません。

あなたのエイリアスを機能させるのに最も近いのは

0:000> aS api .shell -x notepad.exe -k 
0:000> api c:\temp\j.txt

これにより、notepad.exe が起動されましc:\temp\j.txtた。

于 2012-09-05T13:26:19.560 に答える