I found a built-in way to change the file order arbitrarily without changing the filenames:
sorting by creation date. Swapping the names/contents of notes in effect swaps their creation dates (method 1), but it’s probably easier to just edit the property using the OS or a 3rd-party app (method 2).
Method 1 (within Obsidian):
- Click the Sort button (Up/Down arrows) in the File Explorer.
- Select “Created time” (“old to new”/“new to old”).
- Create a new file (we will use it as a dummy). Move it to the right folder. It will appear at the top or bottom, based on your choice in step 2.
- Select the note you want to appear at the location of the dummy file. Cut-paste the title and content to the dummy. The original file is now the new dummy.
- Repeat step 5 until the files are sorted.
Method 2 (outside of Obsidian):
- Just modify the creation times of the files directly. On Windows (PowerShell):
$(Get-Item FILENAME).creationtime=$(Get-Date "01/01/2000 01:01 AM") - Restart Obsidian for the changes to take effect.
Limitations/Downsides:
- You lose the real creation date information (obviously).
- Neither method is quick and easy.
- Affects all files in the Vault, so you have to apply this method in all folders. (related: Ability to sort different folders differently - #2 by sorig)
- Requires your filesystem to support creation date/time. Not a problem for most modern systems (NTFS/etx4).
- You have to pick whether you want old or new files at the top of all folders going forward. This sorting choice will impact how much swapping is needed for Method 1 and cannot be changed without having to fix all folders.
Other notes:
- Just like other sorting options, the sorting choice doesn’t affect Folders, which are always sorted alphabetically.
- The sorting choice doesn’t persist across Vaults.
- Method 2 does not require the user to have Administrator privileges.