The problem: when files are being moved, they need to “carry” their tags with them. To do that, we first approached the FileSystemWatcher technology: this proved unreliable in many ways when it goes to moving files (feel free to ask for details). Then we considered the file system mini-filter technology (the one commonly used by anti-viruses); apart from the issues related to integrating a piece of C code into a .net application, this technology didn’t appear to be more useful than the previous one.
The issue is indeed non-trivial: moving a file (specially from a disk to another) means creating a new file, copying bit by bit all the data from the source file into the new file and then deleting the old one… this means that there is no such a thing like “file moving” event, nor would it be possible to have it.
Our previous approach was to develop a system to track file movements that listened to the file system and using a pretty complex AI did (try to) understand when a file was moved. This approach included creating many different pattern-matching  algorythms in order to be able to “understand” the behaviour of some of the most used applications (i.e. MSFT Word, Adobe Photoshop), since they performed complex operation on the disk each time they were saving a file.  It totally felt like a game we couldn’t win!


After some intense research about technologies we came to the conclusion that there is no easy way to “listen” to a filesystem and to understand when files are moved…are we missing something (our thread on MSDN forum)?


The (final?) solution: only files pasted using Tabbles will be tracked. Tabbles already had all of the file-management functions built-in, therefore it was pretty easy for us to listen to the file-movement initiated by Tabbles itself and then have the tagging to “follow” the files. This means that you can do cut&paste or drag&drop inside Tabbles,  or you can do cut from explorer and paste in Tabbles, as well as drag&drop from explorer to Tabbles (but not the other way around!) and it will still work. cut from Explorer and paste in TabblesAre we missing something? If anyone out there could think of a better solution to this problem, we’re all ears! Please write us using the contact form on Hint – how to rearrange your files thematically, like you never could before: keep in mind that Tabbles allows you to group files according to “concepts” but you can at the same time browse your disks as you do with a normal file manager. Therefore, let’s say that you have a bunch of scattered files related to France and you feel like having them in the same folder. You can open the for example the tabble “France”, cut all the files in there, and paste them in a brand new folder, all inside Tabbles. This way you can get files rearranged  in no-time and all the tagging will be preserved. Also keep in mind that, should you want to backup your files on a disk, you can do drag’n’drop files from Tabbles to any application, including your favourite cd/dvd-burner app! 😎 Comments are welcome! And here is the related forum post! peace and love, Andrea + Maurizio

UPDATE: we’re working now on a dll-injection based solution, read the whole discussion on our development wave (everyone is welcome to contribute).

By | 2010-03-01T16:35:48+00:00 March 1st, 2010|English|9 Comments

About the Author:


  1. […] into our mailbox: “Hello Andrea, just recently discovered Tabbles and found your recent blog entry regarding the filesystemwatcher interesting. I have been fighting with file watching for months with my product  called Taggtool. […]

  2. Maurizio August 19, 2010 at 12:58 pm

    “what kind of Complex AI did you use to understand movement of files?”

    We had a pattern matching engine to detect patterns such as create-delete, rename-create, rename-rename, etc.

  3. Dn_Ab August 19, 2010 at 10:52 am

    Hi, what kind of Complex AI did you use to understand movement of files?

  4. Armin August 18, 2010 at 2:52 pm

    Hi, we had several problems recently with the file move detection and also use the FileSystemWatcher class in .Net. Though we never encountered problems yet, we very carefully track buffer errors, etc and invalidate our internal file system model on any suspicious change.

    For the move detection we also apply some kind of heuristics to assume the “move”.. we also support “chained moves”. At synchronization time (we are building a file sharing tool), we read the the file and confirm the move when its hash matches the previous file.

    We also consider to build a file system filter driver that is in 100% control of the file changes, but for now we try to get around this. Drivers are a pain for distribution and maintenance, not to mention the catastrophic bluescreens they may cause.

  5. […] Mr. Leandro “O Dragão” posted on our forum a solution to the annoying problem of  Tabbles not being able to track files moved with Explorer, have a look at this thread. This is among the most exciting thing that happened to us in the past […]

  6. Ian March 2, 2010 at 9:03 am

    Yeah, FileSystem watcher is unreliable on its own for a number of reasons, see …
    .-= Ian´s last blog ..Certificates for the Microsoft MyDotNetStory competition =-.

  7. DotNetShoutout March 1, 2010 at 11:45 pm

    Goodbye FileSystemWatcher â?? issues with tracking file movements in Windows Explorer…

    Thank you for submitting this cool story – Trackback from DotNetShoutout…

  8. Andrea D'Intino March 1, 2010 at 6:16 pm

    >Will new files still be watched for and automatically categorized, like now?

    Sure they will!

    >Also, if this is to be used as a file manager also, Iâ??d like some better views in the right pane, such as the detailed view that windows explorer has. I just canâ??t see enough well organized info how the pane looks now

    we know… it’s on our to-do list 🙂

  9. Andy March 1, 2010 at 6:09 pm

    Will new files still be watched for and automatically categorized, like now?

    Also, if this is to be used as a file manager also, I’d like some better views in the right pane, such as the detailed view that windows explorer has. I just can’t see enough well organized info how the pane looks now

    Great product overall.
    Thanks guys.

Leave A Comment

We use technology (including cookies) to collect, use and transfer information to support this Site, including for data analytics purposes, as described in this Site's updated Privacy Policy. Your continued use of the Site signifies your acceptance of such cookies. To learn more about how to manage your cookie settings and how to exercise your rights under GDPR please see our Privacy Policy

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.