以下が別途必要です。
- afxscript
あふすくりぷた - GnuWin32一括インストール
GnuWin32バイナリパッケージ - afxpathlist.spi
パスリストを書庫に見せかけて展開するSusieプラグイン - ndff
NTFSの高速検索ソフト
findを使用したバージョン、カレントディレクトリ以下のファイルを検索
;検索結果をあふで表示
;検索文字はパラメータから受け取る
#Include %A_ScriptDir%
#Include afxscript.ahk
;作業ディレクトリの移動
SetWorkingDir, %A_ScriptDir%
;find.exeのパス
findexe := "D:\gnuwin32\bin\find.exe"
;afxのウィンドウハンドル取得
hwnd:=AfxFindWindow()
;afxのパス取得
afxPath:= AfxExecPath(hwnd)
;afxで開いている現在のパスを取得
findPath:=AfxPathCWin(hwnd)
;findを起動
RunWait, %comspec% /c %findexe% "%findPath%" -type f -iname "%1%" -print > %afxPath%\find.sz7
;サイズが0なら終了
FileGetSize, size, %afxPath%\find.sz7
if size = 0
{
Goto Exit
}
;&EXCDでフォルダの移動
afxArg= -P"%afxPath%\find.sz7"
AfxExCd(hwnd, afxArg)
if ErrorLevel <> 0
{
MsgBox, EXCD error
Goto Exit
}
;axpathlist.spiで検索結果の表示
AfxS_Arc(hwnd, "axpathlist.spi")
if ErrorLevel <> 0
{
MsgBox, S_ARC error
Goto Exit
}
Exit:
ndffを使用したバージョン、カレントドライブの検索
あふのメニューファイルを作成して呼び出します。
;検索結果をあふで表示
#Include %A_ScriptDir%
#Include afxscript.ahk
;作業ディレクトリの移動
SetWorkingDir, %A_ScriptDir%
;ndff.exeのパス
findexe := "ndff.exe"
;afxのウィンドウハンドル取得
hwnd:=AfxFindWindow()
;afxのパス取得
afxPath:= AfxExecPath(hwnd)
;afxで開いている現在のパスを取得
findPath:=AfxPathCWin(hwnd)
;ndffを起動
;検索ドライブの指定
StringLeft, drv, findPath, 1
RunWait, %comspec% /c %findexe% -d %drv%: -fDIRS -sd -silent "%1%" > %afxPath%\find.sz7
;サイズが0なら終了
FileGetSize, size, %afxPath%\find.sz7
if size = 0
{
Goto Exit
}
;&EXCDでフォルダの移動
afxArg= -P"%afxPath%\find.sz7"
AfxExCd(hwnd, afxArg)
if ErrorLevel <> 0
{
MsgBox, EXCD error
Goto Exit
}
;axpathlist.spiで検索結果の表示
AfxS_Arc(hwnd, "axpathlist.spi")
if ErrorLevel <> 0
{
MsgBox, S_ARC error
Goto Exit
}
Exit:
パスは環境に合わせて変えてください。"3: find(カレント以下検索)" "C:\Program Files\AutoHotkey\AutoHotkey.exe" D:\HOME\AHK\afxscript-0_12\findtoafx.ahk "$IT"*$K*""$I"find:検索regexは?""
"5: ndff(ドライブ検索)" "C:\Program Files\AutoHotkey\AutoHotkey.exe" D:\HOME\AHK\afxscript-0_12\ndfftoafx.ahk "$IT"*$K*""$I"ndff:検索regexは?""
axpathlist.spiは同じ名前のファイルが複数あると駄目らしいというのはあるものの
かなり便利です!!
0 件のコメント:
コメントを投稿