Group file launching by macro?

So I now know how to access DO's CE.

And now for the help file page "Passing files to external progs", {allfilepath} launching all selected files - or not.

For once, that's not DO's fault, nor mine, but it's one of my three unmentionable progs that takes just ONE file to be opened within a command line, not several. Thus, my brand-new button launches the very first one of several selected files, and that is it.

Of course, from within that target program, I can launch a dozen or more such files in a row, and hence my question, does DO provide a macro for that task, i.e. is the following macro posssible with DO's CE?:

  • copy all selected files (sharing a common suffix, that's understood, no exception handlers for heterogenic selections needed), to clipboard or to wherever

  • put that list into a format that can be read by the target program, must be in the format

"a.xy" "b.xy" "c.xy"

etc, in no particular order; so, with double quotes each and with spaces as separator

  • switch to target program

  • short delay

  • do a control-o there in order to open the Open dialog of target program

  • short delay

  • paste the list processed above, into the target field of that Open dialog of target program (simple paste since field has got focus just by opening the dialog)

  • do Enter

I could do such a macro within a scripting language, external to any file manager (which allows for exporting file NAMES into clipboard, that is), and external to the target program, and in such a case, I could use any such file manager; there's even an unmentionable free competitor that displays all you want (comments and other attributes) and can serve for this.

On the other hand, if DO does such a macro internally, I'd happily buy, and to h*** with DO's sub-standard search function then.

Then, I said.

Instead of {allfilepath}... what happens if you simply use a command like: C:\path_to_external_app\external_app.exe {filepath}
That should cause the program to launch separately for each selected file...

Internally, I don't think Opus is set up to do this without a script.

If I had such a challenge I'd write a basic CMD script and use Opus to send the selected files to it.

Steje,

Thanks again for your kind intervention. Of course, I've tried your suggestion manually and with every other file manager out there, in all possible variants: no way, the target prog just opens the very first one of the row if any (i.e. if in right format accepted by the prog). BTW, if I just select the files in DO (or in any of its contenders), then press Enter, DO or they will open more than one file, e.g. 2 or 3 out of 3, 4 or 5, and of course, I can press Enter a second time after switching back to DO, a third time... there's a narrow time window in which the applic accepts names of files to be loaded, and the very loading of these files blocks the time window (just 2 sec. or so), not allowing for further file names to be processed then.

John,

That's exactly what I think I'll have to do - and then use one of those unmentionable competitors out there.

:wink:

So back up just a second... I'm not sure what you mean by "manually" and "all possible variants" and all that - and rather than going down the comparatively complex path you pseudo-coded above, are you saying that you did indeed try: C:\path_to_external_app\external_app.exe {filepath}?

If I select 10 text files, then click on a button that runs (for example): notepad {filepath}... then all 10 files open up in notepad. Is that NOT what you want to happen?

Note that {filepath} being mentioned here is different than what you stated you had been trying to use {allfilepath}...

...and that using one or the other will result in different things happening:

What you tried: c:\app.exe {allfilepath}... will result in a single call to the external app with all selected file paths sent in one string:

  • c:\app.exe c:\file1.txt c:\file2.txt c:\file3.txt

Whereas as what I've suggested: c:\app.exe {filepath}... will result in multiple calls to the external app (one for each file selected):

  • c:\app.exe c:\file1.txt
  • c:\app.exe c:\file2.txt
  • c:\app.exe c:\file3.txt