Ha – Peter beat me to the punch...
This is simple, but it requires a little special knowledge.
The problem you're running into is that a string of directories cannot be created by Keyboard Maestro in one fell swoop.
If the intermediate directories do not exist then Keyboard Maestro will error – e.g. only the LAST directory in the chain can be created – and only if ALL the preceding directories already exist.
The trick to the task is to use the shell's
mkdir command which can create intermediate directories (using the
We could do this entire task in the shell, but let's use Keyboard Maestro functions for as much of it as we can.
First saving your $HOME-based (tilde) directory string to a variable.
Then expanding the tilde using a filter, which makes it easier to use in the following shell script.
Then a simple shell script that uses a Keyboard Maestro variable.
Here's the shell script one-liner:
mkdir -p $HOME/Pictures/$(date "+%Y/%m/%Y%m%d")
Ah, I wasn't paying attention when I cut-and-pasted the path string. You only need to employ
* AppleScript-Objective-C is also capable of making intermediate directories, although vanilla AppleScript cannot.
Set Variable var to Text.kmmacros (2.5 KB)