XP で Vista のファイル名変更機能を模倣する


親愛なるライフハッカー様

(正直に言って)私が XP に搭載してほしいと望んでいた唯一の Vista 機能は、非常にシンプルなものです。エクスプローラーで F2 キーを押してファイル名を変更すると、Vista では拡張子なしのファイル名が自動的に選択されますが、XP ではこのようなことは起こりません。 F2+Shift+を押すのがどれほどイライラするか、言葉では言い表せません。
敬意を表して、

ランディの名前を変更

親愛なるランディへ

私はこの問題に困っています。それを助けてくれるのが AutoHotkey です。

->

この機能を追加するより良い方法がある可能性は非常に高いですが、AutoHotkey を使用すると非常に簡単に実行できるため、私はそれを実行しました。おっしゃるとおり、F2 キーを押してファイル名を変更するたびに、Shift+左矢印キーを 4 回押す必要があります。 AutoHotkey を使用して、そのプロセスを自動化しました。

機能の入手のみに興味がある場合は、次のいずれかをダウンロードしてください。Rename.exeの方が良いファイルまたはダウンロードAutoHotkey ソース。それがどのように機能するかをより詳しく知りたい場合は、以下のコードをチェックしてください。

#IfWinActive ahk_class CabinetWClass
~F2::
Gosub, AnalyzeRename
return
#IfWinActive ahk_class Progman
~F2::
Gosub, AnalyzeRename
return
#IfWinActive
AnalyzeRename:

OldClipboard = %Clipboard%

sleep 100

Send, ^c

StringGetPos,ExtensionPos, Clipboard,.,R

if (ExtensionPos != -1)

{

Position := StrLen(Clipboard) - ExtensionPos

Send, +{Left %Position%}

}

Clipboard = %OldClipboard%

return

では、それを分析してみましょう。 IfWinActive コマンドは、アクティブなウィンドウまたはアプリケーションが Windows エクスプローラーまたはデスクトップである場合にのみ、これらの F2 定義を使用するように AutoHotkey に指示します。これらの条件のいずれかが満たされると、F2 キーがウィンドウに送信され、拡張子の強調表示を解除するために必要な Shift+Left キーストロークが AutoHotkey によって自動化されます。しかし、それが本当に名前変更の仕組みであるかのように十分に迅速に行われます。

これは非常に迅速にまとめられたスクリプトであり、改善できる制限があります。 F2 がさまざまな長さの拡張子を処理できるように、また拡張子を使用しない項目 (フォルダーなど) の選択を調整しようとしないように、右から最初のピリオドにチェックを追加しました。

完全に完璧というわけではありませんが、Vista と OS X の両方で利用できる名前変更機能に悩まされている場合は、ほとんどの場合うまく機能するはずです。

PS AutoHotkey でできることの詳細に興味がありますか?チェックアウトこの紹介文または私たちの多くのいずれかオートホットキーの投稿