亀の甲羅2

今日もまた朝とく起きて励まなん窓に明るきありあけの月

あふw 設定カスタマイズ メニュー

「同一フォルダにコピー」がやりたくていろいろ調べだしたら、「メニュー」っていう機能があることに気が付いた。これは便利。

目次

本文

1. メニューの実装

1-1. メニューファイル作成

ファイル名は何でもいいみたいなので、参考にしたページに従って「menu01.mnu」とした。
ファイルのエンコードs-jis(CP932)でないと文字化けした。UTF8ではダメだった。
そしてファイルの先頭行は下記のような始まり文言でないとダメみたい。
下記の例では、メニューを表示した後、「1」を押下すると「同一フォルダにコピー」が発動する。
この「1」などは任意のキーを割り当てることができるが、たまに既存キーの方が優先されてしまう場合もあるので動作確認は念入りに。
&COPYTO、&COPYHIS、&NOP など、あふの中で予め決められているコマンドや、$P、$F、$MFなどパスやファイル名に置換される変数も用意されている。
もちろん、直にコマンド(exe)をCALLしてもOK。
$V"afx" はafxwのインストールフォルダに置換してくれるようだ。

個人的には、powershellでフォルダを開く」 が面白い。カレントのフォルダにSet-Locationしてくれる。

afx mnuのサンプル
"1 同一フォルダにコピー"  &COPYTO "$P"
"N フォルダパスをクリップボードにコピー"  $V"afx"\modules\setClipboard.exe "$P"
"E 空ファイルを作成"  $V"afx"\modules\makeEmptyFile.exe "$P"
"T 登録フォルダにコピー" &SENDKEY 1067
"H 複写先をヒストリーから選ぶ"  &COPYHIS
"========My設定========" &NOP
"P  Powershellでフォルダを開く" powershell -NoExit -Command "& {set-Location -Path $P}"
"W  WinMergeUで比較(2つ選択)" "D:\Program Files\WinMerge\WinMergeU.exe" /e /x /maximize $MF $mO
"2  Strlingで開く" D:\@App\stir131\Stirling.exe $P\$F

1-2. メニュー呼び出しの設定

zキー押下で設定画面を表示して、「キー定義」 にて、任意のキーに以下を割り当てる。

&MENU $V"afx"\menu\menu01.mnu

2. 細かいことはpowershellで実装してメニューから呼び出す

powershellを呼び出すのが面倒なら、「PS2EXE-GUI」(https://www.powershellgallery.com/packages/ps2exe)でexeに変換してあげれば扱いが楽になる。

2-1. フォルダパスをクリップボードにコピー(setClipboard)

$arg1 = [string]$Args[0]

if($arg1 -eq ""){
    Set-Clipboard ""
}else{
    Set-Clipboard $arg1
}

2-2. 空ファイル(txt)を作成(makeEmptyFile)

$arg1 = [string]$Args[0]

if($arg1 -eq ""){
}else{
    $file = "emp{0:HHmmss}.txt" -f (Get-Date)
    $filepath = Join-Path $arg1 $file
    New-Item -Path $filepath | Out-Null
}