
時々、Notepad++ やもっと良いエディタの代わりに Notepad を使うことがあります。時には、重要なものを Notepad ウィンドウに入れることもあります。
PC を再起動する時になると、メモ帳のインスタンスが 20 個も開いていることがよくあります。確かに、そのほとんどは役に立たないものですが、保存する価値のあるものがあるかどうかを確認するために、1 つ 1 つをスキャンする必要があります。
次のいずれかを実行できるユーティリティまたはコマンドはありますか?
- 開いているすべてのメモ帳を1つのファイルに保存する
- 開いているすべてのメモ帳をデフォルトの名前のファイルに保存する
- メモリ内のメモ帳のインスタンスをディスクに保存して、再起動時に起動するようにします。
答え1
はいありますオートホットキーこのようなタスクに適したツール。
繰り返し実行するマクロを作成できます
- タイトルに単語が含まれるウィンドウにフォーカスします
Notepad
(そのようなウィンドウが見つからない場合は終了します) - ファイルを保存するにはCtrl+ を送信しますS
- 数秒待つ
- 「名前を付けて保存」ダイアログが開いている場合(つまり、新しいファイルを保存する場合)、デフォルトの番号付きファイル名を入力し(キーストロークを送信して)、Alt+Sを送信して保存ダイアログ内のボタン
- ファイル
notepad <filename>
にコマンドを追加するrestore-notepads.bat
- Alt+ を送信しF4てメモ帳インスタンスを閉じます
- 繰り返す。
次にrestore-notepads.bat
、起動するメニューには、「3. メモリ内のメモ帳のインスタンスをディスクに保存して、再起動時に起動できるようにする」という機能が存在します。
答え2
他のプログラムより速く起動しないので、メモ帳を一時的なテキスト ストレージとして使用しています。メモ帳インスタンスのコンテンツを保存またはバックアップするために、AHK コードをいくつか書きました。基本的には miroxlav の回答に基づいていますが、復元する必要はありません。
では、コードを紹介します。
+!s:: ;Save all notepad instance
ClipSaved := ClipboardAll
LastClip := ""
WinGet, id, list, *Untitled - Notepad, ,, ;[1]
Loop, %id%
{
this_id := id%A_Index%
WinActivate, ahk_id %this_id%
Send ^A
Send ^C
Sleep 500
WinMinimize, ahk_id %this_id%
WinGetClass, this_class, ahk_id %this_id%
WinGetTitle, this_title, ahk_id %this_id%
LastClip = %LastClip% `r`n-------`r`n %ClipBoard% ;[2]
ToolTip , Saving All Untitled Notepad Instances `n%a_index% of %id%`nahk_id %this_id%`nahk_class %this_class%`n%this_title%`n
}
ClipBoard := LastClip
; ToolTip , %ClipBoard%
Run notepad.exe
Sleep 1000
Send ^V
Sleep 1000
Clipboard := ClipSaved
ClipSaved =
#Persistent
ToolTip, Done
SetTimer, RemoveToolTip, 2500
return
RemoveToolTip:
SetTimer, RemoveToolTip, Off
ToolTip
return
return
コードをファイルに保存して.ahk
実行し、 を押すとAlt+Shift+S
、すべての無題のメモ帳インスタンスのコンテンツが 1 つの新しいメモ帳ウィンドウに結合されます。
注記:
- [1] 無題のインスタンスだけでなく、すべてのメモ帳インスタンスを保存したい場合は、
*Untitled - Notepad
を に変更すれahk_exe notepad.exe
ば完了です。 - [2] それは別の行です。
この回答は5年後のものですが、それでもこれがあなたにとって何らかの助けになることを願っています。