開いているすべてのメモ帳インスタンスをどこかに保存するユーティリティまたはコマンド

開いているすべてのメモ帳インスタンスをどこかに保存するユーティリティまたはコマンド

時々、Notepad++ やもっと良いエディタの代わりに Notepad を使うことがあります。時には、重要なものを Notepad ウィンドウに入れることもあります。

PC を再起動する時になると、メモ帳のインスタンスが 20 個も開いていることがよくあります。確かに、そのほとんどは役に立たないものですが、保存する価値のあるものがあるかどうかを確認するために、1 つ 1 つをスキャンする必要があります。

次のいずれかを実行できるユーティリティまたはコマンドはありますか?

  1. 開いているすべてのメモ帳を1つのファイルに保存する
  2. 開いているすべてのメモ帳をデフォルトの名前のファイルに保存する
  3. メモリ内のメモ帳のインスタンスをディスクに保存して、再起動時に起動するようにします。

答え1

はいありますオートホットキーこのようなタスクに適したツール。

繰り返し実行するマクロを作成できます

  1. タイトルに単語が含まれるウィンドウにフォーカスしますNotepad(そのようなウィンドウが見つからない場合は終了します)
  2. ファイルを保存するにはCtrl+ を送信しますS
  3. 数秒待つ
  4. 「名前を付けて保存」ダイアログが開いている場合(つまり、新しいファイルを保存する場合)、デフォルトの番号付きファイル名を入力し(キーストロークを送信して)、Alt+Sを送信して保存ダイアログ内のボタン
  5. ファイルnotepad <filename>にコマンドを追加するrestore-notepads.bat
  6. Alt+ を送信しF4てメモ帳インスタンスを閉じます
  7. 繰り返す。

次に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年後のものですが、それでもこれがあなたにとって何らかの助けになることを願っています。

関連情報