2022/04/02

220402 AutoHotkeyでPath Finderライクなファイル名変更

Windowsのエクスプローラーでファイル名を変更している途中で勝手に選択されてしまう問題が解決できないので、AutoHotkeyで別ウィンドウでファイル名を変更できるようにした。

こちらのサイトを参考にした。
how to get selected file in explorer


;#########スクリプトはここから#########
#IfWinActive ahk_class CabinetWClass


+F2::Send, {F2} ; Original rename by Shift+F2

F2::
{
ClipSaved := ClipboardAll
Clipboard =
Send, ^c
ClipWait
FilePath = %Clipboard%
FileGetAttrib, FileOrDir, %FilePath%
SplitPath, FilePath, Filename, FileDir
InputBox, NewFilename, F2 rename, Enter new file name., , , 130, , , , , %Filename%
If ErrorLevel = 0
{
If (FileOrDir = "D" or FileOrDir = "AD") ; Directory is selected
{
NewPath = %FileDir%\%NewFilename%
FileMoveDir, %FilePath%, %NewPath%
}
Else ; File is selected
{
NewPath = %FileDir%\%NewFilename%
FileMove, %FilePath%, %NewPath%
}
                Clipboard := ClipSaved
         ClipSaved =
}
Return
}

#IfWinActive
; #########ここまで#########

エクスプローラーでファイルを1つ選択してF2を押すと下記のウィンドウが表示され、ファイル名を編集してEnterで変更される(ややタイムラグあり)。
Shift+F2で通常のファイル名変更になる。


ahk_class CabinetWClassでエクスプローラーを指定しているので、デスクトップのファイルを変更する時は適応されない。

*4/4追記
ファイル名変更でコピーしてキャンセルするとクリップボードも消えてしまうので修正した。

0 件のコメント:

コメントを投稿