用於將所有開啟的記事本實例保存在某處的實用程式或命令

用於將所有開啟的記事本實例保存在某處的實用程式或命令

我有時發現自己使用記事本而不是 Notepad++ 或更好的編輯器。有時我甚至會把重要的東西放在那些記事本窗口中。

當需要重新啟動我的電腦時,我經常會開啟多達 20 個記事本實例。當然,其中大部分都是無用的,但我必須掃描每一個,看看是否有什麼值得保存的。

是否有任何可用的實用程式或命令可以執行以下任一操作:

  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] 如果您希望儲存所有記事本實例,而不僅僅是無標題的記事本實例,請將 變更為*Untitled - Notepad即可ahk_exe notepad.exe完成這項工作。
  • [2] 這是單獨的行。

雖然這個答案是五年後的事了,但我還是希望對你有幫助。

相關內容