Jump to content

A few suggested changes for df.exe/df64.exe, and a question.


Recommended Posts

I love having a command-line version of Defraggler. Thanks! I'm firing it from Task Scheduler every so often, under Windows 7, targeted at C:, and forcing it to Background priority with PsExec (SysInternals PsTools).

 

First, an important question: I'm wary, so I've got Task Scheduler set to kill the task (df64.exe) if it doesn't end after 4 hours (plenty of time). What will actually happen if the scheduler's forced to kill it? Will it flush current I/O and go away gracefully? I like my filesystems not-trashed. :D

 

Suggestions:

 

  • Consider a minimal-GUI mode for defraggler[64].exe: I'm allowing the task to run visible, whereupon TrayIt! is minimizing the window to systray. That way, I can glance at it for progress / errors if I have to. It's not very revealing, though; it would be nice to be able to launch the GUI app with commandline parameters (including /closeonfinish or similar).
  • Alternately, consider a "verbose" mode for df[64].exe: Output % complete in one line only (instead of scrolling), with another line for the current file and a third line to report any errors. Possibly even a minimalist sort of textmode scrollbox for errors.
  • PsExec works well enough for forcing the task priority low, but it would be nice if df[64].exe could handle this itself. Less complexity; no outside dependencies.
  • Handling its own systray placement would be awesome, although I assume TrayIt! will continue to handle this semi-gracefully.
  • Please add a single icon resource (the GUI app's would be fine) so I can pick it out in the systray. Not clear on whether df[64].exe would need to find its associated console window and change the icon-- been a while since I coded under Windows.

Thanks for such a superb product!

Link to comment
Share on other sites

This answers your question I think:

 

http://docs.piriform...-is-safe-to-use

 

And thanks for the suggestions.

:)

 

Oooohh, right. Silly question. I thought of a better one, though: does Defraggler handle NTFS compressed files in any way? I've not-installed, deleted and/or set compression for things like those pesky F/OSS apps that come with huge translation sets, Notepad++, and so on, plus just about everything on C: that ends in *.txt; *.htm[l], *.log; *.ini; *.edb; and so forth. Disk I/O being the bottleneck it is, and laptop drives being as (relatively) small as they are, it's a savings in both bytes and wall-clock-time (and even power: I'm saving the planet while increasing my battery life!) to squish highly-compressible, infrequently-modified files like this.[1]

 

I used to know NTFS architecture better, but a vague memory is telling me that the contents of compressed files end up in the MFT (for no obvious reason...), where presumably Defraggler Dare Not Tread.

 

 

---

[1] I have this great suggestion for CCleaner...

Link to comment
Share on other sites

  • Moderators

Well, the straight off answer to that is yes. Defraggler handles NTFS compressed files.

 

But I'll qualify that by saying I'm basing that answer upon my own experience with Defraggler, which actually is all I can base it on.

 

It defrags RAR files, ZIP files, compressed jpeg images, compressed "Disk Image" backups, etc etc, all the usual culprits found on an NTFS system.

 

But I can't comment on anything other than that. If there are types of compressed files I've never encountered in my normal PC usage, then it's over to someone else, or the devs even, to supply a definitive answer.

 

You sound like you have a good knowledge of NTFS architecture, so I think you would appreciate an accurate answer rather than a maybe.

 

Hope that helps.

Link to comment
Share on other sites

It defrags RAR files, ZIP files

Sorry, not what I was after. Windows since 95 (like DOS 6.0-6.22 before it) can transparently compress files without the aid of an archiving or compression utility. This is completely separate from recent Windows' support for Zip archives (located in ZIPFLDR.DLL), and also has nothing to do with the ancient Microsoft COMPRESS.EXE / EXPAND.EXE utilities, nor MAKECAB.EXE or anything else related to Cabinet archives.

 

Assuming a system with compression available (you can check with "fsutil behavior query disablecompression" from at least Windows XP), you can use either COMPACT.EXE to set the necessary flag on one or more files or directories to begin compression, or the GUI: pull up the context menu for most any file / directory object in Explorer, select Properties -> Advanced -> Compress contents to save disk space.

 

Compression generally takes at least a few seconds (longer for larger files), but at some point pulling up Properties again for the target will reveal a (hopefully useful) difference between "Size:" and "Size on disk:". Best of my knowledge, this still employs LZX compression, like nearly anything else Microsoft. More recent implementations of LZX actually yield surprisingly good compression (Windows NT6.x (>= Vista) .WIM disk archives), but NT6.1's implementation looks like it's still as terrible as Win95's or DOS': getting more than 2:1 compression on easily-squashed things like plaintext will have to wait for Microsoft to care about NTFS again (it's barely changed since NT 4.0) when (for instance) recent implementations of LZMA/LZMA2 can yield 15:1, 30:1, and sometimes even more.

 

I'm not sure who to ask, so if you can find out about NTFS-compressed files, I'd appreciate it.

Link to comment
Share on other sites

There have been some people complaining about a wrongly calculated fragmentation (e.g. 142%) when having NTFS-compressed files on their drives, but it seems Defraggler does handle them.

Piriform French translator

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.