"untrue" error with eraser command line

regsnerven

New Member
Hey guys,

first of all your registration captcha do suck hard. It took me about 10 minutes and two different browsers to register (by the way: it's not smart to block some one for registration through cookies).
And it is really unnessesary to use a password with a number in it here due this is only a support forum.

Whatever. Back to Topic.

I am trying to use eraser on command line and have the following:
"C:\Program Files\Eraser\Eraser.exe" addtask --dir "C:\Users\dun\Desktop\e\" -s manually -r

That gives the message back "--directory must be specified with the directory to erase". Also tried it with a file but the same error only with "file" instead of "directory" in it.

What am i doing wrong?

And do you really have to type in the whole "GUID" you find under "eraser.exe querymethodes" to specify the method?
And why isn't the command line part not documented in the pdf. What does "BTD" or what ever users find under that section mean?

Sys specifications:
Eraser 6.0.7.1893 on Vista

Gr33tZ
Rn
 

DavidHB

Active Member
I agree with you about the Captcha, and indeed the whole flawed Captcha concept in general, which hassles legitimate users and does not seem to stop spam posts getting through :( . I assume that the requirement is built into the forum software; if there is a policy decision, that is presumably a matter for Heidi, who host the forum.

As regards your question, the CLI is very much work in progress, which is why it is not documented. I assume you entered 'Eraser Help' at a command prompt to get the current list of commands. There is also a Tac ticket which documents the intended CLI features. I find that the CLI on 6.0.7 does not form the entries properly, so, if I tell it to delete E:\Temp\Test, it tries to delete a non-existent E:\Temp\Temptest. It's not something I have really addressed in my beta testing, as there does not seem to be much point until the ongoing work is complete.

Sorry I can't be more helpful.

David
 

regsnerven

New Member
yep. i used "erase help" which is by the way very unlikely for cmd tools to have no / or - in front of the parameter. Hard to find thou.
The help doesnt really help thou because the information given is confusing especially with that ,-Params like include or exlude and so on.

Thanks for giving an answer to the questions why it is not document. ^^
 

DavidHB

Active Member
regsnerven said:
Will i get an answer in the next time or...what?
Eraser is written entirely by volunteers. The lead programmer, Joel, who could probably answer your question, has unavoidable work commitments at the moment, and simply has no time to post to the forum. So, although you and I would very much like to know when the CLI is going to be fixed, we have to be patient; I don't know for how long. Sorry.

David
 

Joel

Active Member
--dir=C:\Path\To\Dir

It's an equal sign, the 6.1 command line is (hopefully) a WEE BIT easier than the 6.0 one, but I won't say that it is significantly so... But it's a work in progress.
 

regsnerven

New Member
Thanks for the answers.

But there is another problem:
CMD quote (except the arrows that are comments to the commands) :
Code:
C:\Program Files\Eraser>Eraser.exe addtask --directory=C:\Users\dun\Desktop\e\ -s=manually
-> shedules a job with NO directory to delete
C:\Program Files\Eraser>Eraser.exe addtask --directory=C:\Users\dun\Desktop\e -s=manually
-> shedules a job with "C:\Program Files\Eraser\UsersdunDesktope" as folder
The second is without the last backslash. That is how Eraser GUI enters folder into queue.
What am i doing this time wrong?

An idea for further versions: CMD-export from the gui, so users with not that big knowledge of things like that could create their jobs in the gui and get an command for cmd with only a click of a mouse :p
 

Joel

Active Member
All paths are escaped using a backslash. = , and \ are escaped (so backslash must precede those.)

I won't be too agreeable to implementing generation of command lines, not in the official project. It doesn't make sense if users aren't familiar with the command line use it and run the risk of screwing things up. Command line interfaces for Eraser will be there, just, use it if you know how to.
 

Joel

Active Member
n.b. the Eraser 6.1 command line is vastly different. It isn't finalized yet, use at your own peril.
 

johnbull

New Member
@ Joel,
I've registered here mainly just to say that I didn't find your answers very helpful, even though I managed to work it out!

After 30+ years of programming all I can say is that an example would have helped! People come from many different backgrounds... what exactly does have to be escaped? Is your list definitive? Are there more characters needing a backslash? Anyone who had used a *nix shell would not expect to have to escape characters in a quoted path for example, and windows definitely doesn't need this. What about sticking to conventions or am I missing something here?

I was very happy using the eraser 5 command line for many years, what on earth are you thinking by making users type in the method "GUID"'s? Cumbersome is too small a word.... also, erasure performance is at most poor under Win7 compared with version 5 on the same machine under XP.

@ All Others
For anyone wanting a free command line erasing program in the meantime, I can warmly recommend SDelete by Mark Russinovich of Windows Sysinternals (http://technet.microsoft.com/en-us/sysinternals/bb897443.aspx). It's easy to use and very fast.
 

Joel

Active Member
johnbull said:
After 30+ years of programming all I can say is that an example would have helped! People come from many different backgrounds... what exactly does have to be escaped? Is your list definitive? Are there more characters needing a backslash? Anyone who had used a *nix shell would not expect to have to escape characters in a quoted path for example, and windows definitely doesn't need this. What about sticking to conventions or am I missing something here?
I may not have mentioned it before, the CLI was never meant for public use. Documenting it would only open a can of worms, so the lack of documentation was a deliberate decision. In light of this, if users still want to use the CLI, caveat emptor when using it in 6.0.x.

johnbull said:
I was very happy using the eraser 5 command line for many years, what on earth are you thinking by making users type in the method "GUID"'s? Cumbersome is too small a word.... also, erasure performance is at most poor under Win7 compared with version 5 on the same machine under XP.
What I was thinking was extensibility. Users can write their own plugins to define their own erasure methods, even those which do not work classically (i.e. those which do not overwrite using sequential overwriting, for example). Method names would have been ambiguous, and for a non-public (read: undocumented) UI, I judged it to be a lot more coding for very little benefit. The CLI wasn't the most important of the priorities then.

What are you measuring to gauge performance? What are you erasing?
 

johnbull

New Member
I'm generally erasing a 2GB file with 5220.22-M (E), sdelete takes ~60 seconds on my machine, I just ran the deletes again whilst checking how much data was written by the processes and noticed that Eraser was writing much more data (reminiscent of a 7 pass)....

Unable to read all of the line in the combo-box, I had unwittingly chosen 5220.22-M(ECE) [How about a larger combo-box?].
Correcting my mistake allows Eraser to "come in first" at ~45 seconds, I'll stick with sdelete though simply because of it's cute and simple CLI. Nothing like a good old batch file!

Thanks for the reply!
 

DavidHB

Active Member
Keep watching this space. Joel plans a proper CLI for a future version.

David
 

Joel

Active Member
To be exact, http://eraser.heidi.ie/trac/ticket/355. Escaping is no longer necessary, but the position of the arguments are. GUIDs are still used, but that's a work-in-progress.
 

Dorothy

New Member
@Joal

The link you gave ( http://eraser.heidi.ie/trac/ticket/355 ) does not work.

I am also trying to use the command line function of Eraser. I am getting the message "Guid should contain 32 digits with 4 dashes". Here is my command "C:\Program Files\Eraser>Eraser.exe addtask -m=9acdbd78-0406-411687e5-263e5e3b2e0d -r".

What should I do? Am I doing something wrong? I am using the current stable version "Eraser 6.0.8.2273". Should I update to a 6.1 build?
 

DavidHB

Active Member
Reading the help file, I suspect that the GUID you want is

9acdbd78-0406-4116-87e5-263e5e3b2e0d

Your post quotes

9acdbd78-0406-411687e5-263e5e3b2e0d

the difference being that you left out the dash between the 6 and the 8.

And, no, moving to a new version would not help in this case.

David
 
Top