Dienstprogramm oder Befehl zum Speichern aller geöffneten Notepad-Instanzen irgendwo

Dienstprogramm oder Befehl zum Speichern aller geöffneten Notepad-Instanzen irgendwo

Von Zeit zu Zeit benutze ich Notepad statt Notepad++ oder einem besseren Editor. Manchmal lege ich sogar wichtige Dinge in diese Notepad-Fenster.

Wenn ich meinen PC neu starten muss, habe ich oft bis zu 20 geöffnete Notizblock-Instanzen. Zugegeben, die meisten davon sind nutzlos, aber ich muss jede einzelne durchsehen, um zu sehen, ob es etwas gibt, das es wert ist, gespeichert zu werden.

Gibt es ein Dienstprogramm oder einen Befehl, der Folgendes ausführen kann:

  1. Alle geöffneten Notizblöcke in einer einzigen Datei speichern
  2. Alle geöffneten Notizblöcke in den standardmäßig benannten Dateien speichern
  3. Speichern Sie die Instanzen von Notepad im Speicher auf der Festplatte, damit sie beim Neustart gestartet werden

Antwort1

Ja da istAutoHotKeyWerkzeug, das für eine solche Aufgabe geeignet ist.

Sie können ein Makro erstellen, das wiederholt

  1. fokussiert jedes Fenster mit einem Wort Notepadim Titel (oder beendet das Fenster, wenn kein solches Fenster gefunden wird)
  2. sendet Ctrl+ Szum Speichern einer Datei
  3. wartet einige Sekunden
  4. Wenn es (wiederum über den Titel) feststellt, dass der Dialog "Speichern unter" geöffnet ist (also beim Speichern einer neuen Datei), füllt es einen standardmäßigen nummerierten Dateinamen aus (durch Senden von Tastenanschlägen) und sendet Alt+ Szum DrückenSpeichernSchaltfläche im Dialog
  5. fügt Befehl notepad <filename>in restore-notepads.batDatei ein
  6. sendet Alt+, F4um die Notepad-Instanz zu schließen
  7. wiederholen.

dann können Sie restore-notepads.batin IhreStart-upMenü und Sie werden die von Ihnen beschriebene Funktion „3. Speichern Sie die Instanzen des Editors im Speicher auf der Festplatte, damit sie beim Neustart gestartet werden“ vorfinden.

Antwort2

Ich habe Notepad als temporären Textspeicher verwendet, da kein anderes Programm schneller startet. Um den Inhalt von Notepad-Instanzen zu speichern oder zu sichern, habe ich etwas AHK-Code geschrieben. Er basiert im Wesentlichen auf Miroxlavs Antwort, aber ich muss ihn nicht wiederherstellen.

Hier kommt also der Code.

+!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

Speichern Sie den Code in einer .ahkDatei, führen Sie ihn aus und nach dem Drücken von Alt+Shift+Ssollte der gesamte Inhalt der unbenannten Notizblockinstanz in einem neuen Notizblockfenster zusammengeführt werden.

Notiz:

  • [1] Wenn Sie möchten, dass alle Notizblockinstanzen gespeichert werden, nicht nur die unbenannte, ändern Sie das *Untitled - Notepadin ahk_exe notepad.exe.
  • [2] Das ist für eine separate Zeile.

Obwohl diese Antwort 5 Jahre später kommt, hoffe ich trotzdem, dass sie Ihnen weiterhilft.

verwandte Informationen