Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Queue multiple file check/creation #13

Open
Masxx opened this issue Aug 25, 2016 · 12 comments
Open

Queue multiple file check/creation #13

Masxx opened this issue Aug 25, 2016 · 12 comments

Comments

@Masxx
Copy link

Masxx commented Aug 25, 2016

Not really an issue but more of a feature request. Any chance of adding the ability to queue multiple checksum files so that they are verified 1 by 1 (or more if you add an option to) instead of all at once. Same goes with creating a checksum for multiple files.

Ex.
Creating... filename1.jpg ---> filename1.jpg.sha1 DONE
Queued... filename2.jpg --->
Queued... filename3.jpg --->

Verifying... filename1.jpg ---> filename1.jpg.sha1 MATCH/MISMATCH/UNREADABLE
Queued... filename2.jpg --->
Queued... filename3.jpg --->

While I know you can create a batch checksum with multiple files into one single file, there are times where I prefer a single checksum per each file.

Either way LOVE how you are keeping this updated! Thanks!

@gurnec
Copy link
Owner

gurnec commented Aug 25, 2016

I don't think this seems too hard to implement. I'll give it some thought (no promises of course)....

In any case, thanks for the suggestion!

@gurnec
Copy link
Owner

gurnec commented Sep 3, 2016

I just committed a version which supports a new context menu option "Create separate Checksum files..." (it was a bit more involved than I initially thought...). There's no support for verifying multiple checksum files in a single window yet, but I'll look into that next.

It drops checksum files into the same directory as each file it checksums. It refuses to overwrite existing files, so this may lead to some confusion if you try to checksum the same directory twice (you'll end up with a bunch of errors, plus a bunch of checksum-of-checksum files, e.g. filename1.jpg.sha256.sha256, which is technically what you asked for, though perhaps confusing).

If you'd like to test it and don't have VS2015 installed to compile it yourself, you can download an installer from the automated builds on Appveyor here. Please let me know if you run into any issues!

@Masxx
Copy link
Author

Masxx commented Sep 4, 2016

Just installed the alpha and it's working exactly as you stated. If you target a directory to create separate checksum files multiple times it will produce an error stating the # of files and create "checksum-of-checksum files". It's a small hiccup for sure but nothing to prevent the actual intended functionality, When that gets fixed it will be perfect along side the verifying of multiple checksum files in a queue/single window.

The workaround for the "checksum-of-checksum files" is to just highlight all the files within the directory manually (instead of the directory itself) and use the create separate checksum files that way. It seems to produce the error with # of files you have already created a checksum for but will not produce "checksum-of-checksum files" and only create the ones that you are missing instead. If you already have checksum files created for all the files in the directory, it will just give the error and no duplicates.

Also like to add for those who use the extended shortcut menu option (I personally don't)... the new function for create separate checksum files is not listed in it. On the subject of the shortcut menu, minor request in adding the HashCheck icon to the context menu for the commands.

Looking great so far and thank you! Appreciate the hard work you are putting into this!

@gurnec
Copy link
Owner

gurnec commented Sep 5, 2016

I'm still struggling with the "right" way to do this. If I understand correctly, your use case is adding new files to an existing directory with checksum files already in it, and creating new checksum files for only those newly added files. This makes plenty of sense to me.

I'm struggling because I want to keep things as simple as possible, and I also don't want to do anything too "magical"/surprising for somebody with a different use case than yours. Still thinking about it....

for those who use the extended shortcut menu option (I personally don't)... the new function for create separate checksum files is not listed in it.

I can't reproduce this. Perhaps you're only right-clicking on a single file (the new option doesn't appear unless you select multiple items or a folder)?

minor request in adding the HashCheck icon to the context menu for the commands.

Demanding, aren't we ;-)

Kidding of course, that's a good idea. I'll take a look (not really a Windows GUI guy, but if it's easy enough I'll definitely add it).

Looking great so far and thank you! Appreciate the hard work you are putting into this!

Thanks for the kind words, and thanks for your input and for testing this!

@Masxx
Copy link
Author

Masxx commented Sep 5, 2016

I'm still struggling with the "right" way to do this. If I understand correctly, your use case is adding new files to an existing directory with checksum files already in it, and creating new checksum files for only those newly added files. This makes plenty of sense to me.

Sorry I kind of confused myself as I was thinking along the lines that the checksums were duplicates of the main files. So ignore my would be workaround as it is just common sense (/face palm myself).

Would getting HashCheck to ignore the checksum file types during creation help solve this issue? So if one were to create separate checksum files on a directory, get HashCheck to ignore any file types ending in *.sfv, *.md5, *.sha1, *.sha256, *.sha512, *.sha3-256, *.sha3-512. I assume you might have thought of this already but figure I'd throw it out there in case you didn't!

for those who use the extended shortcut menu option (I personally don't)... the new function for create separate checksum files is not listed in it.

I can't reproduce this. Perhaps you're only right-clicking on a single file (the new option doesn't appear unless you select multiple items or a folder)?

User error (me /face palm again). Everything is working as intended!

Demanding, aren't we ;-)

Kidding` of course, that's a good idea. I'll take a look (not really a Windows GUI guy, but if it's easy enough I'll definitely add it).

I know, sorry! =)

Thanks again for taking the time to do this and putting up with my request!

@gurnec
Copy link
Owner

gurnec commented Sep 8, 2016

I'm thinking of adding new radio buttons below the hash-selection radio buttons along the lines of:

  • Keep/ignore existing Checksum files
  • Overwrite existing Checksum files
  • Don't treat existing Checksum files specially
    (not recommended)

The first option would always be the default (and wouldn't generate any overwrite errors). The third would be the same as the current alpha works.

I'm not sure this is the best way to go (or that the option descriptions, which I'd like to keep short, are ideal)... any input is always welcome.

(also, the current alpha with menu icons can be found here)

@Masxx
Copy link
Author

Masxx commented Sep 8, 2016

To keep things simplistic, I think that's a great compromise. The descriptions themselves are self explanatory. Maybe the third option might be a bit confusing initially, description wise, but having the option there and stating it's not recommended should be more then enough.

In majority of cases (I would like to say in ALL but you never know...) there's no need to make a checksum of checksum files. So having the first option being default will just make things simple and straight forward for people to use.

Just downloaded the new alpha and the menu icons are a beautiful addition! I love how you have a unique icon for each selection. Thank you! It's just so much easier and faster for the eyes to glance and find the option now with those in place.

Can't say it enough but thank you again for your hard work!

@gurnec
Copy link
Owner

gurnec commented Sep 9, 2016

Can't say it enough but thank you again for your hard work!

Thanks!

I just uploaded a new (mostly untested) version with the overwrite options discussed above, if you have a chance can you give it a bit of testing? The installer can be downloaded here.

If you find any bugs, please let me know!

@Masxx
Copy link
Author

Masxx commented Sep 10, 2016

I just uploaded a new (mostly untested) version with the overwrite options discussed above, if you have a chance can you give it a bit of testing? The installer can be downloaded here.

If you find any bugs, please let know!

So far so good! Created multiple checksums from various formats and in multiple directories/sub directories. Didn't have or saw any issues as of yet. Looks like this feature is pretty much ready to go! (knock on wood)

I'll follow up if I encounter anything out of the ordinary. Thanks again!

@Masxx
Copy link
Author

Masxx commented Jan 11, 2017

Hey there! Hope you had a great holiday!

Just following up to see if any progress was made with the verifying queue feature. No rush or expecting anything as you are doing this out of your own free time.

Either way appreciate it!

@ZPNRG
Copy link

ZPNRG commented May 7, 2017

Hi, gurnec, Masxx, or anyone else reading this.

I've used Kai Liu's HashCheck Shell Extension almost daily since 2009 and just stumbled across this fork a couple of months ago.

I ran across this thread and have a couple of comments.

  1. Maybe this should be a separate feature request and I'll go ahead and create one, but I would like to have just the simple queue-ing aspect. Many times, I want to check a number of hash checksum files (.sha1 or .sha256) that are large. If I just double-click them one after another and run them, then the HD (spinning disks) is thrashed. So, I have to run them manually 1 by 1 after each finishes. It would be nice if HashCheck would queue the operations so that after a currently running hash task finishes (creating a hash checksum file or checking a hash checksum file), then it will process the next one that I had started, etc. To be clear, this would ideally work for creating multiple hash checksum files one after another or double-clicking on existing hash checksum files one after another to be checked.

  2. This is simply a comment related to the bulk of this thread.

Masxx has a comment above where he says... "In majority of cases (I would like to say in ALL but you never know...) there's no need to make a checksum of checksum files. So having the first option being default will just make things simple and straight forward for people to use."

If I am understanding correctly, then we need to be careful here. For example, I have a folder of tax records. There are sub-folders for the various tax years (2007, ... 2014, 2015, etc). Inside each sub-folder, I create a hash checksum file for the contents of that sub-folder (tax year). However, before backing up the entire tax records folder (containing all of the sub-folders), I will create a hash checksum file for the entire tax records folder contents (which includes the sub-folders). That tax records folder hash checksum file is creating a hash checksum for all files in the entire folder, which includes creating hash checksum files for the hash checksum files that were created in the sub-folders. I like this. Yes, there is some redundancy, but in many cases like this, I want the redundancy and the cost (time, extra data space, etc) is tiny and worth it to me for the redundancy.

So, in my case, by default, I want HashCheck to create a hash checksum of all files as it does currently, even if some of those files inside a folder or sub-folder are in fact other hash checksum files. That said, I'm sure it would be trivial for you to add a checkbox option so that any hash checksum files (.md5, .sha1, etc) are skipped and are not included when a hash checksum file is being created/generated.

I hope all of that makes sense.

-ZPNRG

@LawnSounds
Copy link

Is the project dead? No updates since September 2016...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants