Am I the only one using a lot of local file links?

Hello,

As per the subject line, I like linking to local files extensively within my Obsidian notes, but the problem is that if I decide to take files and move them to another directory, or maybe to create a new directory with a specific name in order to classify a bunch of files, then all my file links within my notes that reference to any of those files will be broken.

For any developer who might have had any interest in this kind of problem, I’d like to make you aware of Everything:

## What is “Everything”?

"Everything" is search engine that locates files and folders by filename instantly for Windows.

## How long will it take to index my files?

"Everything" only indexes file and folder names and generally takes a few seconds to build its database.

A fresh install of Windows 10 (about 120,000 files) will take about 1 second to index.

1,000,000 files will take about 1 minute.

## Does “Everything” hog my system resources?

No, “Everything” uses very little system resources.

A fresh install of Windows 10 (about 120,000 files) will use about 14 MB of ram and less than 9 MB of disk space.

1,000,000 files will use about 75 MB of ram and 45 MB of disk space.

## Does “Everything” monitor file system changes?

Yes, “Everything” does monitor file system changes.

Your search windows will reflect changes made to the file system.

https://www.voidtools.com/faq/

https://www.voidtools.com/downloads/

By default, Everything makes a lightning fast search and result of all your system’s filenames by sifting through the MFT (Master File Table), which is why it is so fast at yielding search results.

Everything is Freeware, there is an SDK for everything, if you try it on your computer I’m pretty certain you will be very impressed.

I’m fairly certain that keeping track of a moved file on one’s system while linked to Everything would not be very difficult to accomplish.

Of course, the only way this plugin would work is for the user to have Everything running on their system when Obsidian is being used, or the Everything service would need to be active. Secondly, of course, if one wanted to be certain that their links are not broken, one would need to make certain to have Obsidian open whenever working on any file system manipulations.

Any DEV here have any interest in this topic? What do you think about this idea and Everything?

Thanks.

1 Like

Everything is an excellent app, but I think it is not going to cut it and we need a reference manager. i wish Obsidian could manage Zotero URI’s like local files.

I’ m using Everything together with Obdisian and this little tool Protocaller – bgmCoder

I registered with this one an exclusive protocol that allows to launch Everything instances directly from Obsidian in order to follow any movement of any specific file between folders. Obviously the file title must not be changed

I recommend the last beta of Everything, even faster.

1 Like

I’ll give that a try and let you know how it’s working for me. Thanks!

Two options for Mac users:

Hook:

And DevonThink

https://www.devontechnologies.com/apps/devonthinkf

Both will create unique, persistent links to documents in the local filesystem. DevonThink does a million more things than that — it’s like Evernote, but much better, albeit only for the Apple-verse.

1 Like

Just installed Protocaller, but just by looking at the .ini file examples, I don’t see this program doing what I’m wanting to accomplish. Do you mind sharing your .ini file?

Maybe what you’re using this program for is not what I have in mind. I expect I’ll know once I see how you’re using it.

Thank you.

It’s a workaround that I created some time ago. In fact, I’ve been a bit rough and hasty in my description. It’s some more tricky than I remembered. Also a autohotkey compiled macro is involved

I renamed Protocaller.exe → run.exe

the INI file in Protocaller, related to Everything looks like this:

[evr]
application=YOURPATH\Evr4Obs.exe
prompt=0
window=1
folder=
parameter=
space=%20

[evr] is my arbitrary subprotocol. You can name it as you want

“Evr4Obs” is an Autohotkey compiled macro. I named it like this because it tracks instances from Obsidian to Everything

Let’s say I want to open a local file named Document1 from Obsidian

The link in Obsidian will looks like this one:

[ L I N K ] ( r u n : e v r : D o c u m e n t 1 )

When I clink on [LINK] in Obsidian the Autohotkey’s Macro :

A) opens Everything
B) Rescan the whole database in a couple of seconds (with the last beta is even 10 time faster than before)
C) Search for Documents1
D) Launch Documents1
E) Close Everything

the whole thing lasts 5 seconds at the most

If Documents1 changes folder there is no need for any intervention in Obsidian to change the path which, in fact, is not indicated

Is it a cumbersome workaround? Probably yes but it’s the only one I know


So let me know if you know Autohotkey and how to compile its macros, I will send you also the few lines of the above one

I am already using Autohotkey, yes, so if you have the AHK macro that would save me the time figuring out the syntax for the Everything parameters, yes, thank you, I’m going to setup the rest of it now.

I’m running “protocaller.exe -install”, I get the dialogue box saying: http://postimg.cc/c61sgz96

I don’t find a “protocaller” key, but I have this: http://postimg.cc/z3wg54LB

Do those look like the keys you have? Why is it breaking my balls saying that it doesn’t seem to be a protocol and offering me a few choices of action?

Am I missing a registry key under the PROTOCOLS key, or was the whole PROTOCOLS key created by Protocaller? I have no idea as to whether or not that key previously existed, I expect it did, and that there should have been a Protocaller key created here somewhere, probably in the Handler section… not sure.

Thanks again Flexit.

Someone’s actually working on such a plugin. I personally haven’t tried it yet, but it’s on my list of things to explore once I have time.

1 Like

I never seen that reply when I installed the software. I did it in Win 8.1

However the whole path is this one

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\protocaller]

I guess you can reply to each of the requests without anything special happening. Just follow what happens next. Let me know

Thanks, I am already using it and it is very helpful in referencing documents, I hope adding a feature to embed pdf files into obsidian be in the road map. it can also be used for other file formats like images that are problematic to handle inside obsidian. One can basically leave all the reference management to Zotero and use obsidian for its strength

I have to imagine that my Comodo firewall is interfering with the creation of the registry key, I’m going to disconnect from the Internet, kill Comodo, and try again and see what happens. In the meantime, if you don’t mind sharing your AHK script, that would be wunderbar. Thank you.

Ok, so now I have a registry entry.

Evr4Obs.ahk:


SetTitleMatchMode 2
Var = %1%
Run, YOURFOLDER\Everything64.exe -s %Var%
WinWait,verythin,
IfWinNotActive,verythin, , WinActivate,verythin,
WinWaitActive,verythin,
Sleep, 1000
Send, {CTRLDOWN}{SHIFTDOWN}4{CTRLUP}{SHIFTUP}
Sleep, 1000
Send, {RIGHT}{ENTER}
Send, {ENTER}

  1. You must compile this macro in Evr4Obs.exe
  2. This line —> Send, {CTRLDOWN}{SHIFTDOWN}4{CTRLUP}{SHIFTUP} is due to a customised shortcut I did in Everything (CTRL+Shift+4) that forces the program to rescan the whole database as soon as Everything is open and responsive. Of course, you can change the shortcut at will and adapt the macro
  3. The two lines —> Sleep, 1000 to wait a second to give Everything enough time. If you have a faster PC you can reduce the time of 1000 thousandths of second
  4. I recommend to download the last beta of Everything (mine one is 1.5.0.1256a -x64) various time faster than before

Remember that the title of the file you launch must be as unique as possible in order to not have any duplicates on the computer

I hope I haven’t forgotten anything

1 Like

Years ago I was using Everything and than hddb replaced it for me

Looks very good actually, for my purposes, it probably does everything I would need from it, just like the Everything program, but I wouldn’t switch to it unless I knew that there were something I could get from this program and not from Everything, but I don’t think that this is going to be the case. The other problem is that the project has been abandoned, so that is a bit of a disincentive, but yes, it does look to be just as good as Everything for basic use.

Oh… why didn’t I see the notice to your post here?

Ok, let me get back to this… I’ll compile that tomorrow. Thank you Flexit.