It’s hard to believe it has already been almost over four years since I wrote
a little tool called hobocopy. The name was a pun on the truly-awesome robocopy, which does a great
many things and is a truly useful tool. Hobocopy doesn’t do a tenth what
robocopy does, but it does do one thing that robocopy can’t:
copy files that are currently in use. It does that by using the Volume Shadow
Service, which is the same facility Windows uses to create Restore Points. You
can read more about hobocopy here
and here.
I worked on hobocopy for a while, but as often happens, I got pulled onto
other things. I tried to see if someone else would pick up the torch, but was
unable to find anyone. Still, at least some people were able to get some use out
of it: there have been something like 100,000 downloads from SourceForge as of
this writing, and I get regular but infrequent questions about its use. So I
felt bad that I had let development languish.
Well, now I work for Relevance, and
they have a
very progressive policy on open source work. Of course I have far more
projects I want to tackle than I could do in a decade of Fridays, but still, I
figured that hobocopy deserves some love. So I’ve been spending a bit of time on
it lately. I've created the hobocopy Google group, and I've moved the code to its
new home on GitHub.
As you might imagine, there’s still a lot to do, but I’ll be
chipping away at it as I’m able to. Help of any sort (including bug reports!)
is, of course, welcome.
I recently became reacquainted with Hobocopy because I needed a copy program that could handle locked files. It does the job!
ReplyDeleteGlad to hear it!
ReplyDeleteGood to hear, yeah... I've been following your blog for 4 years just to be sure not to miss that post ;)
ReplyDeleteDo you mind trying to package it as a lib so I can use it in a C# program for example? Would be really nice... Thanks,
ReplyDeleteJohn.
Wow, I hope I said at least something in the last four years that was worth listening to. :)
ReplyDeleteI definitely would like to get Hobocopy lib'd up - it's been on my mental list for a long time. I can think of at least three good reasons to do it. Mind making a feature request on the GitHub project page? I'd like to see how that process works for people other than me.
I did that but was unable to find a way to give it a feature request label.
ReplyDeleteI guess you have to do this yourself which seems logical...
Then, of course you did publish some nice stuff over the years.
I liked the lazy enumeration of directory descendants in C#.
Note that I could easily take a couple of more posts coming from you, no offense thus said ;)
My first git account: I'm watching you! :)
Feature request accepted. Request to blog more acknowledged. No promises on either front. ;)
ReplyDeleteI tried to use HoboCopy to copy a file in use by Internet Explorer from the Temporary Internet Files directory. I was greeted by a BSOD and my system will no longer boot. The Windows repair disk attempted some fixes and still no luck. I then tried two system restores and both failed at the end. Finally, I attempted a system image restore from backup and at the end, it too failed. My hard drive is now completely erased thanks to this program and whatever it did so circumvent the protected Windows processes.
ReplyDeleteWow, that sucks! But hobocopy doesn't do anything to circumvent protection.
ReplyDeleteI know it's not much consolation, but you have my sympathy.
Kia ora from Aotearoa New Zealand. Thanks for this program. I created a batch file to copy flash videos in the temp folder. Its perfect, just have to rename the file and it works in VLC . Appreciate the time you took to make it.
ReplyDeleteGlad you found it useful!
ReplyDelete