Easy Backup (Export) & Restore of Selected Macro

Continuing the discussion from Feature requests: Easy way to backup and restore macros, separate windows for macros, turn off auto-save:


Use Case

  • I also have long wanted an easy KM Macro Backup/Restore system.
  • So, in collaboration with Chris @ccstone, we developed the backup script, and Macro.
    • I have to say this runs very very fast, taking << 1 sec.
  • The below macro provides the Backup part
  • Easy to Restore Using Finder and/or Path Finder
    • Set Finder to your Backup Folder
    • Filter using the Spotlight Search box at the top right
    • View the filtered list in order by time stamp
    • View the contents of selected files using either Quick Look, or the Path Finder Preview panel
    • Double-click on the .kmmacros file you want to restore
      • ADDS (does not overwrite) the Macro to the same Macro Group
    • Edit as needed
  • See below for how to use, and examples of output.

Examples of Output

Standard Notification when Done

image

Example List of Backup Files

image


MACRO:   Export (Save) Selected Macro @KM


#### DOWNLOAD:
<a class="attachment" href="/uploads/default/original/3X/e/6/e67e70bc4d9b71e26599db500910b426fc751845.kmmacros">Export (Save) Selected Macro @KM.kmmacros</a> (22 KB)
**Note: This Macro was uploaded in a DISABLED state. You must enable before it can be triggered.**
It was also uploaded with 
   * a trigger of <kbd>⌘</kbd><kbd>S</kbd>, which is NOT used by the Keyboard Maestro.app.
   * In a Macro Group activated ONLY when KM is frontmost.

**As always, please feel free to post any questions, issues, and/or suggestions that you may have about this macro.**

---

### ReleaseNotes

Author.@JMichaelTX based on Script by @ccstone

**PURPOSE:**

* **Export Current Macro being Edited to a Backup Folder**
   * Macro File is Macro Name & Time Stamp
   * Illegal File Chars ("/" and ":") replaced with "╏"

**HOW TO USE**

1. Select a Macro for Editing in the Keyboard Maestro.app
2. Trigger this macro.

---

**MACRO SETUP**

* **Carefully review the Release Notes and the Macro Actions**
  * Make sure you understand what the Macro will do.  
  * You are responsible for running the Macro, not me.  ??
.
1. Assign a Trigger to this maro..
2. Move this macro to a Macro Group that is only Active when you need this Macro.
3. ENABLE this Macro.
.
* **==REVIEW/CHANGE THE FOLLOWING MACRO ACTIONS:==**
(all shown in the magenta color)
  * **Set Local__BackupFolder** -- POSIX path to folder you want to save all macro backups.
![image|424x157](upload://fk9wUtXyk1MtMNRpwnjPA6l8Fca.png) 

 * SCRIPT CHANGES:
   * If you want to use the script without passing the BackupFolder path to it from KM, then you will need to change this _property_ statement in the script:
```applescript
### USER SCRIPT SETTINGS ###
-- HFS Path to Your Macro Backup Folder --
property ptyExportFolderHFS : "CHANGE:To HFS Path:Of your:Backup Folder:" ###JMTX ADD

```

---

**REQUIRES:**

1. **KM 8.2+**
2. **macOS 10.11.6 (El Capitan)**

TAGS: @Macros @Backup @Save @AppleScript 

USER SETTINGS:

* Any Action in _magenta color_ is designed to be changed by end-user

ACTION COLOR CODES

* To facilitate the reading, customizing, and maintenance of this macro,
      key Actions are colored as follows:
* GREEN   -- Key Comments designed to highlight main sections of macro
* MAGENTA -- Actions designed to be customized by user
* YELLOW  -- Primary Actions (usually the main purpose of the macro)
* ORANGE  -- Actions that permanently destroy Variables or Clipboards,
OR IF/THEN and PAUSE Actions


**==USE AT YOUR OWN RISK==**

* While I have given this a modest amout of testing, and to the best of my knowledge will do no harm, I cannot guarantee it.
* If you have any doubts or questions:
  * **Ask first**
  * Turn on the KM Debugger from the KM Status Menu, and step through the macro, making sure you understand what it is doing with each Action.

---

![image|609x1098](upload://xQtDOGJO0x8cxeniu9cx83fgVU9.png)

Is there a way to tweak this macro so you can backup/export:

  1. More than 1 macro at a time

  2. An entire folder/group of macros at one time

Thanks

Yes. You just need to modify the script to work the the macro selection, or the macro group.
Not hard, but I don't have the need or the time to develop at this time.

See Scripting the Keyboard Maestro editor for some examples of how to do this.

Unfortunately this is beyond me to do...

I just ran across this macro that seems to do what you want.
I have NOT tested it, nor am I recommending it.
Just passing it along...

[MACRO] Backup / Export Macro Groups (or your library) as individual macros