
I've heard yesterday about qttabbar and I really love it. My history with file managers looked like this: windows explorer (win95 and win98)-> total commander free (win xp) -> windows explorer (win vista). I liked total commander but it lacks the integrated search bar that vista has, and for me that's one of the key features that I need.
In the past I've used various scripts to achive some of the functionalities that qttabbar has but after I've moved to vista some of them didn't work and I'm happy I've found qttabbar.
Although there are a few things that I do miss from total commander, like the ultra-quick zipping and unzipping. So I've decided to achive the same using qttabbar application launcher.
I did today only the extraction of archives using 7-zip (freeware archiver that handles dozens of file types, including commercial ones like rar). I'll post the creation of archives when I'll have some more free time.
So here's the extraction of various archives using the qttabbar and 7-zip.
After you install 7-zip you notice that there is a context menu in the explorer that allows the extraction. There are two menu items that handle the extraction.
Right Click Context Menu->7-zip->Extract Here
Right Click Context Menu->7-zip->Extract Files
What I did was mimic the behavior of these two.
The first one is really easy. All you have to do is go to qttabbar options->applications and add a new item which I'll call "7zip Extract Here" (to add it you press the + button (not the one with a folder, the one with only a + on it) and then name it "7zip Extract Here". If you accidentally pressed enter or clicked you can still rename it by selecting it and pressing F2).
Now in the "path" box you browse to the location where you installed 7-zip (i.e. C:\Program Files\7-zip) and you choose the file named "7zg.exe" (7zg.exe is a gui-plugin for the command line 7-zip, 7z.exe, so we'll be able to use all the command line arguments that 7z.exe can handle and as an extra we'll have the neat gui instead of the visually-dull command line when adding or extracting archives).
Now in the arguments box you write: x -o%c% %s%
The short explanation of these is: x tells 7-zip to extract the archive named %s% (%s% being the archive you currently selected) and -o%c% tells 7-zip to put the extracted files in the directory %c% (which is the current directory in which the archive resides.
Now you should erase the contents of the Working Dir so it remains blank because 7-zip uses the working dir to put temporary files in it and by default is set to be a temporary system directory and you shouldn't change that. So leave it blank. (erase it if qttabbar wrote something in it after you choose 7zg.exe). I really suggest you define a keyboard shortcut to be ultra-quick. (I prefer Ctrl+F9 for this)
And just like that we have achieved the Extract Here functionality. Test it by selecting an archive and pressing you're shortcut (I.E. ctrl+F9). Sure we could have just right clicked on it and then choose 7-zip->Extract Here but that's painfully slow, and I preffer to do this kind of stuff by using the keyboard. Sure we could just pressed context button on the keyboard then 7 then E then again E and then Return key but that's 5 key presses which is again painfully slow. In this case we can do it in only two presses. (It can be done even in one key press if you have a key that you're willing to sacrifice for this functionality and use a remapper like autohotkey to remap that key to a combination that you've chosen for the "extract here" functionality. I would suggest for the sacrifice key a key from the num-pad. In all my years I always ignored that part of the keyboard but if you're like me you could finally put it to good use. If there are people interested on how to do that I'll post it. I did notice that oddly enough the application launcher only allows combination of two or more keys, it doesn't allow combination of 1 keys like the shortcut keys tab allow (i.e. F9)).
Next on the list is the "Extract files" functionality. when you select an archive and then choose "extract files" a dialog appears that lets you choose a path where you want to extract the files. That path is by default a new directory that has the name of the archive and that is placed in the same directory as the archive. I never found myself in need to change the default so I always press ok leaving the default so I'll concentrate on creating a functionality that mimics this default behavior.
The big problem here is that 7zg.exe doesn't have a command-line argument that creates a new folder with a default name and places the contents of the archive in that folder. We could use some funky cmd.exe call that would have to do string parsing or we could write a script that would do that and then call 7zg.exe with the right arguments. I say we do the first because it doesn't need any extra script files to take care of and it will be a good exercise for the command line kung-fu.
Firstly add a new item to application launcer and then in the path box browse for the cmd.exe file that you can find in your \windows\system32\ directory. (Note: you'll need to have folder-options->view->show hidden files and folders checked to find it because other wise it's hidden)
In the arguments box you'll need to write this
/c for /f %A in ("%s%") do for /f "tokens=2* delims= " %i in ('reg query hklm\software\7-zip /v path') do "%j\7zg.exe" "x" -o"%~dpnA" "%s%"
That line required a lot of work, but if you need some explanations I'll be happy to provide them. Just Ask.
And now choose a keyboard shortcut of your choice (I.E. alt+F9) and you're done. Test it by selecting an archive and pressing you're shortcut (I.E. alt+F9)
Important note: Nothing will happen if you try to use the shortcut when no file is selected so be sure to select an archive file first.