Jump to content

DIRMS-GUI Script


chaos945
 Share

Recommended Posts

I'm making a fancy GUI for DIRMS to automatically do my defraging procedures for me.

The script will detect your fixed drives, defrag, then move by lcn and compact 4 times for each drive. After all that it will move files based on layout.ini to the beginning of the disk.

Solved

This is all working fine, but the STOP button in my GUI does not want to run after a previous function has been called.

After a button is pressed no other buttons will work until the function for the button that was pressed has finished. I've tried using DIM variables, AdLib, and lastly the Env variable, nothing seems to be working, any suggestions welcome.

Edited by chaos945
Link to comment
Share on other sites

I've come up with a solution using a combination of AdLib and the Env variables.

Answered

Anyone see a downside to using Env variables rather than DIM?

Solved

Anyone have suggestions for the @ComSpec formatting, it does not appear to be doing its job?

You can halt the progress of the defrag at anytime by pressing STOP.

Edit: New version without Env variables, minor bugs fixed, final working version below. DIRMS needed to run

Edited by chaos945
Link to comment
Share on other sites

Final build, thanks for the input.

Changes:

* progress will show in the title bar when minimized

* label formatting

* minimize hides cmd.exe (hides defragmenter so you don't have 2 open tray bars)

* second instance will not begin (old one would restart the program)

* minor bug with cmd.exe hiding

* progress was not updating properly when minimized

**new version is available, scroll down**

DIRMS_GUI.zip

Edited by chaos945
Link to comment
Share on other sites

  • 1 month later...

Just so you know I didn't just forget about this project, I've got this prototype version for you to take a peek at.

Posted Image

Nothing has been implemented as far as actual defragmenting goes but it soon will. :lmao:

Currently it will detect and display information about the drives on your computer.

I'm planning a defrag all function and in the options the ability to set the number of passes used to defragment.

ie. move by lcn, compact

Edited by chaos945
Link to comment
Share on other sites

I've been thinking about that the past couple of days.

I think maybe the easiest way will be start a timer with the first pass, so:

$elapsed = TimerStart()
dirms c: defrag
$elapsed = TimerEnd($elapsed)

Then we'd know how long it takes to complete a defrag pass on drive 'c'.

A very loose guess could then be made based on:

* the number of passes left

* the types of passes

* the percentage used space on each drive

The further the process goes the more accurate it would be. After each pass completed the elapsed time estimate would refresh based on the new info, the time it took the previous pass to complete and what type of pass it was.

I've been trying to figure out a way to benchmark the system by throwing various sized files from directory to directory and timing them, but I've had not very good luck with that.

Any suggestions?

Link to comment
Share on other sites

Guest mikew512

I have been tracking the DIRMS GUI and have found it to be a very handy GUI to DIRMS.

My pressing need is that Drive selection needs to be added. I have looked at the new prototype and it looks very good, but is is not yet ready.

SO....

I have added code to the original source to allow Drive selection and also individual selection of Defrag/move/compact. This will do me until the new version is ready.

I have also removed the 4 cycles of move/compact.

I hope others will find this usefull.

Well done Chaos945 and all of you.

dirmsgui2.zip

Link to comment
Share on other sites

G'day folks , been using Dirms for about 12 months & just got reffered here by this link .

http://www.sixfiles.com/forum/download-is-...irms-12773.html

I was wondering if you know about streams .

This post by Peter Boos Posted: Oct 17 2004, 05:46 AM covers streams & dirms .

http://forums.scotsnewsletter.com/index.ph...opic=8471&st=25

More info here .

http://patriot.net/~carvdawg/docs/dark_side.html

http://www.winnetmag.com/Article/ArticleID/15846/15846.html

Link to comment
Share on other sites

mikew512: I like your checkbox idea.

jmatt: That Wolfgang guy did a pretty good job. I've went through his design and am planning on adding a few things I liked in his version and a few of my own. As for the streams and contig I'm still reading...

This new build its still just for show, I've not had alot of time, blah, blah. You can now defrag single drives only.

Version 1.0.1.1

Added Since Last Build:

- finished options >output> config.ini

- added fancy image in about menu

Next Build:

- finish off all defragmentation actions, move by lcn, date, compact, defrag, etc

- begin design of the scheduler

I've been having trouble getting the ListView items to give a usable return for multiple selections. For instance selecting multiple drives and putting the drive information in either one array or two seperate ones. See line 258.

DIRMS_GUI_0.1.1.1.zip

Edited by chaos945
Link to comment
Share on other sites

  • 3 weeks later...
  • 1 month later...

Hi!

Just a short info for you about my dirms gui.

Version 0.3.3 is ready.

I made some fixes to the gui.

If availiable a button for Sysinternals DiskView is shown.

A "Full job" Action is new. It makes "Defrag und Pack" - "Compact" - "Move to front" - "Compact" - "Move to front" to get better results.

The external programs are no longer included. I think this is the right way. Including the other programs was not fair to the other programmers.

See: http://www.wolfgang-fuehrer.de/wwf_dirmsgui_en.htm

Wolfgang Führer

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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...