UPDATE: lst2run v0.4 (beta)

Discuss and announce Total Commander plugins, addons and other useful tools here, both their usage and their development.

Moderators: white, Hacker, petermad, Stefan2

User avatar
JackFoo
Senior Member
Senior Member
Posts: 373
Joined: 2003-02-05, 19:53 UTC
Location: ERROR

UPDATE: lst2run v0.4 (beta)

Post by *JackFoo »

v0.4 (beta) - added a -b switch (bip).
v0.3 (beta) - added a -p switch (see readme).
v0.2 (beta) - changes the process call from system() to CreateProcess (hopefully it'll solve w9x bug) and adds the -w switch (see readme).

BASE64 follows, remeber to strip trailing spaces.

Code: Select all

lst2run v0.4 (beta).

USAGE:
 lst2run [-h] [-e [exe]] [-s [expression]] [-l [list.file]] [-w [ms.]]
         [-p [ms.]] [-b]
   Runs the specified [exe] on every file in [list.file] with command derived
   from the expression.

     -h          Prints this screen.
     -w ms.      How long to wait between starting processes, default is
                 INFINITE, which means will wait till process is finished
                 before creating a new one. If wait time is specified
                 every call creates a new window, otherwise all processess
                 work in the same window. This switch is ignored if -p is
                 specified.
     -p ms.      How long to wait between the end of one and the start of
                 another task, default is no wait time, [-1] or 
                 [no milliseconds specified] means wait till key press
                 after each task, [0] means wait till key press to close.
     -b          Bip on pause, only works if -p switch is specified with [0]
                 or without parameters (only when user intervention is needed).
     *exe        The executable to run, can be any valid runnable file.
     *expression Expression to be used as the command for [exe], containing
                 valid placeholders.
     *list.file  A file containig a list of files to be run on.
     * Means - this parameter is needed and must be specified.

Currently valid placeholders are [#f] file name, [#p] path, [#e] extension
  Given a file [c:\somedir\di1\my file.ornot]
  #p = [c:\somedir\dir1]
  #f = [my file]
  #e = [ornot]

Example of usage with TC:

Command   : C:\path\lst2run.exe
Parameters: -s "a #f.rar \"#p\#f.#e\"" -e "C:\path\rar.exe" -l %L
Will call rar to archive for every file in the list one by one.
* Note the \" before #p, this is needed to put quotes if the file/command
  contain spaces.

Code: Select all

MIME-Version: 1.0
Content-Type: application/octet-stream; name="lst2run.rar"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="lst2run.rar"

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

Cheers.
Last edited by JackFoo on 2004-03-02, 09:43 UTC, edited 3 times in total.
User avatar
JackFoo
Senior Member
Senior Member
Posts: 373
Joined: 2003-02-05, 19:53 UTC
Location: ERROR

Post by *JackFoo »

BTW, how can I upload it to ClubTotal and also my other tool (official) lst2str.

Cheers.
User avatar
Hacker
Moderator
Moderator
Posts: 13064
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

:D
changes the process call from system() to CreateProcess
System()?...
(Just a note showing I thought that that exists only in the Unix world...)
Roman, can you check if it works on your w98? (thanks)
I'll love to! :)
how can I upload it to ClubTotal and also my other tool (official) lst2str.
Click on Submit Downloads and fill out the form.

BTW: Have you heard about code91? ( http://banki1.banki.hu/~arpi/f-dos.html ) Makes the text version half a KB shorter...

Thanks
Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
User avatar
JackFoo
Senior Member
Senior Member
Posts: 373
Joined: 2003-02-05, 19:53 UTC
Location: ERROR

Post by *JackFoo »

Actually system(char *s) is ANSI C defined function, which should be compatible on all OSes, sadly w9x is broken. Damn, the submition process is a real pain, I have no links to the files, is there any other way (email)?

Cheers.
User avatar
Hacker
Moderator
Moderator
Posts: 13064
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

OK, it works!!! :D

I have some suggestions, though:
- An option to wait for a keypress after each job finishes.
- An option to wait for a keypress after the last job finishes.
- An option to define the time between the end of and the start of the next job.
- You might want to rephrase the -w switch to something like "How long to wait between the start of one and the start of the next process." At first I thought it was what I suggest one option above.

BTW: Did you take a look at Code91 from my previous post?

the submition process is a real pain, I have no links to the files, is there any other way (email)?
Well, as I don't have access (at least I don't think I have) to Club Total to upload files there, I could only host them on my account on host.sk, but that is too unreliable I think. So unless you find a temporary webspace we'll have to wait for Maxwish to return.

Thanks
Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
User avatar
JackFoo
Senior Member
Senior Member
Posts: 373
Joined: 2003-02-05, 19:53 UTC
Location: ERROR

Post by *JackFoo »

- An option to wait for a keypress after each job finishes.
- An option to wait for a keypress after the last job finishes.
- An option to define the time between the end of and the start of the next job.
- You might want to rephrase the -w switch to something like "How long to wait between the start of one and the start of the next process." At first I thought it was what I suggest one option above.
How about a -p switch: -p (pause after each job), -p [NN] pause NN milliseconds after each job and auto continue, perhaps -p 0 to stop after the last job.
BTW: Did you take a look at Code91 from my previous post?
Just glimpsed, the problem with these things is that they aren't very usefull when they aren't known, I believe it to be a hassle asking people to use b64 which is very widely known much more so with less known encoding scheme.
So unless you find a temporary webspace we'll have to wait for Maxwish to return.
Sure I can do that.

Cheers.
Last edited by JackFoo on 2004-02-29, 16:54 UTC, edited 1 time in total.
User avatar
JackFoo
Senior Member
Senior Member
Posts: 373
Joined: 2003-02-05, 19:53 UTC
Location: ERROR

Post by *JackFoo »

Update: v0.3 (beta) in first post.

Cheers.
User avatar
Hacker
Moderator
Moderator
Posts: 13064
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

:D Great!
One more wish (I hope I give you enough headache): a configurable short beep after each / last process...?

Thanks
Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
User avatar
JackFoo
Senior Member
Senior Member
Posts: 373
Joined: 2003-02-05, 19:53 UTC
Location: ERROR

Post by *JackFoo »

I hope I give you enough headache
Not at all.

How about a bip after each task but only if -p was defined and it'll be synced with it; -p 0 -b would mean it'll bip only after last task; -p -b means a bip after each task. I guess if you define -p XX -b bipping is unneeded since the process continues without your intervention.

Good enough?

Cheers.
User avatar
Hacker
Moderator
Moderator
Posts: 13064
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

I guess... :) If not I'll bug you later, I promise. :)

Thanks
Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
User avatar
JackFoo
Senior Member
Senior Member
Posts: 373
Joined: 2003-02-05, 19:53 UTC
Location: ERROR

Post by *JackFoo »

Update: v0.4 (beta) in first post.

P.S. (beta) means the program is still in development however it should be stable and contain no bugs of any kind.

Cheers.
User avatar
Hacker
Moderator
Moderator
Posts: 13064
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

:) And for 0.5 how about adding some "Press any key to continue..." in a similar way to -b (or -p)?
I think that's my last wish for now.

TIA
Roman
User avatar
JackFoo
Senior Member
Senior Member
Posts: 373
Joined: 2003-02-05, 19:53 UTC
Location: ERROR

Post by *JackFoo »

And for 0.5 how about adding some "Press any key to continue..." in a similar way [...]
Erm, what do you mean, it already supports "Press any key to continue..." actually "Press Enter to continue..." but it's the same. Just use -p without parameter to pause after each task and -p 0 to pause on last task only.

Cheers.
User avatar
Hacker
Moderator
Moderator
Posts: 13064
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

Oh, sorry, didn't realize, didn't have time to test the new versions yet and did neither read the docs. Shame on me. :oops:

Thanks
Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
User avatar
Hacker
Moderator
Moderator
Posts: 13064
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

Hi again, mind giving me a helping hand over here - http://ghisler.ch/board/viewtopic.php?t=3702 ?

TIA
Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
Post Reply