PC Review


Reply
Thread Tools Rate Thread

Can an .exe invoked from a .bat file shut down execution of latercmds?

 
 
RichardOnRails
Guest
Posts: n/a
 
      11th Jul 2010
I've got a 3-line bat file:
rake ready_for_the_day
@echo ------
rake COFFEE_CUPS=5 make_coffee

(BTW: Rake is Ruby's version of make: it invokes Ruby commands rather
the U*ix cmds. The arguments identify a task within a Rakefile in the
current directory, possibly with settings for environment variables)

The above ,bat file invokes the first command successfully, AFAIK, and
then quits
When I comment out the first cmd with a leading colon the echo works,
as does the 2nd cmd

Could a Rake.exe shut down the batch cmd that invoked it. If so, is
there any way I could insulate the batch command file from such a
shutdown attempt?

Thanks in Advance,
Richard
 
Reply With Quote
 
 
 
 
RichardOnRails
Guest
Posts: n/a
 
      11th Jul 2010
On Jul 11, 1:32*pm, RichardOnRails
<RichardDummyMailbox58...@USComputerGurus.com> wrote:
> I've got a 3-line bat file:
> * * rake ready_for_the_day
> * * @echo ------
> * * rake COFFEE_CUPS=5 make_coffee
>
> (BTW: Rake is Ruby's version of make: it invokes Ruby commands rather
> the U*ix cmds. *The arguments identify a task within a Rakefile in the
> current directory, possibly with settings for environment variables)
>
> The above ,bat file invokes the first command successfully, AFAIK, and
> then quits
> When I comment out the first cmd with a leading colon the echo works,
> as does the 2nd cmd
>
> Could a Rake.exe shut down the batch cmd that invoked it. *If so, *is
> there any way I could insulate the batch command file from such a
> shutdown attempt?
>
> Thanks in Advance,
> Richard


Problem solved:
Sorry, folks. I just remembered this question I similar to one I
asked the other day.
There the answer was "invoked commands like rake as follows:
cmd /c the.exe
That worked here, too.

Best wishes,
Richard
 
Reply With Quote
 
Pegasus [MVP]
Guest
Posts: n/a
 
      11th Jul 2010


"RichardOnRails" <(E-Mail Removed)> wrote in
message
news:cd697713-6125-4a9b-8cce-(E-Mail Removed)...
> I've got a 3-line bat file:
> rake ready_for_the_day
> @echo ------
> rake COFFEE_CUPS=5 make_coffee
>
> (BTW: Rake is Ruby's version of make: it invokes Ruby commands rather
> the U*ix cmds. The arguments identify a task within a Rakefile in the
> current directory, possibly with settings for environment variables)
>
> The above ,bat file invokes the first command successfully, AFAIK, and
> then quits
> When I comment out the first cmd with a leading colon the echo works,
> as does the 2nd cmd
>
> Could a Rake.exe shut down the batch cmd that invoked it. If so, is
> there any way I could insulate the batch command file from such a
> shutdown attempt?
>
> Thanks in Advance,
> Richard


Try this:
@echo off
start /b rake ready_for_the_day
echo Label 1
pause
rake COFFEE_CUPS=5 make_coffee

Note also that you should include full paths for all file names referenced
in batch files if you want the batch file to be robust. Rake.exe has no path
in your example.

 
Reply With Quote
 
RichardOnRails
Guest
Posts: n/a
 
      12th Jul 2010
On Jul 11, 1:58*pm, "Pegasus [MVP]" <n...@microsoft.com> wrote:
> "RichardOnRails" <RichardDummyMailbox58...@USComputerGurus.com> wrote in
> messagenews:cd697713-6125-4a9b-8cce-(E-Mail Removed)..com...
>
>
>
> > I've got a 3-line bat file:
> > * *rake ready_for_the_day
> > * *@echo ------
> > * *rake COFFEE_CUPS=5 make_coffee

>
> > (BTW: Rake is Ruby's version of make: it invokes Ruby commands rather
> > the U*ix cmds. *The arguments identify a task within a Rakefile in the
> > current directory, possibly with settings for environment variables)

>
> > The above ,bat file invokes the first command successfully, AFAIK, and
> > then quits
> > When I comment out the first cmd with a leading colon the echo works,
> > as does the 2nd cmd

>
> > Could a Rake.exe shut down the batch cmd that invoked it. *If so, *is
> > there any way I could insulate the batch command file from such a
> > shutdown attempt?

>
> > Thanks in Advance,
> > Richard

>
> Try this:
> @echo off
> start /b rake ready_for_the_day
> echo Label 1
> pause
> rake COFFEE_CUPS=5 make_coffee
>
> Note also that you should include full paths for all file names referenced
> in batch files if you want the batch file to be robust. Rake.exe has no path
> in your example.


Hi Pegasys,

Thanks for your response.

> Rake.exe has no path in your example.

True, but Rake's path is provided in my installation of Ruby: K:/
_Utilities/ruby186-26_rc2/ruby/bin/ (BTW, Ruby adjusts path
separators to the OS environment.)

I looked up the specs on cmd and start. It looks like they were drawn
up by lawyers :-)
In your view, is there a reason to prefer "start /b" to "cmd /c"?

Thanks in Advance,
Richard
 
Reply With Quote
 
pjp
Guest
Posts: n/a
 
      12th Jul 2010
I'm coming in late on this but given the subject of thread ... I wrote a
program (EXE) years ago as a menu front end that rewrote the batch file it
was invoked from. The edits were what got parsed when the exe finished, the
new line(s) executed, returned to batch file, looped to top of it, reinvoked
exe which would change it again to new selection etc. etc. In other words
the batch file got reparsed after return from the exe.

"RichardOnRails" <(E-Mail Removed)> wrote in
message
news:554c88b1-04fc-42ce-8d8f-(E-Mail Removed)...
On Jul 11, 1:58 pm, "Pegasus [MVP]" <n...@microsoft.com> wrote:
> "RichardOnRails" <RichardDummyMailbox58...@USComputerGurus.com> wrote in
> messagenews:cd697713-6125-4a9b-8cce-(E-Mail Removed)...
>
>
>
> > I've got a 3-line bat file:
> > rake ready_for_the_day
> > @echo ------
> > rake COFFEE_CUPS=5 make_coffee

>
> > (BTW: Rake is Ruby's version of make: it invokes Ruby commands rather
> > the U*ix cmds. The arguments identify a task within a Rakefile in the
> > current directory, possibly with settings for environment variables)

>
> > The above ,bat file invokes the first command successfully, AFAIK, and
> > then quits
> > When I comment out the first cmd with a leading colon the echo works,
> > as does the 2nd cmd

>
> > Could a Rake.exe shut down the batch cmd that invoked it. If so, is
> > there any way I could insulate the batch command file from such a
> > shutdown attempt?

>
> > Thanks in Advance,
> > Richard

>
> Try this:
> @echo off
> start /b rake ready_for_the_day
> echo Label 1
> pause
> rake COFFEE_CUPS=5 make_coffee
>
> Note also that you should include full paths for all file names referenced
> in batch files if you want the batch file to be robust. Rake.exe has no
> path
> in your example.


Hi Pegasys,

Thanks for your response.

> Rake.exe has no path in your example.

True, but Rake's path is provided in my installation of Ruby: K:/
_Utilities/ruby186-26_rc2/ruby/bin/ (BTW, Ruby adjusts path
separators to the OS environment.)

I looked up the specs on cmd and start. It looks like they were drawn
up by lawyers :-)
In your view, is there a reason to prefer "start /b" to "cmd /c"?

Thanks in Advance,
Richard


 
Reply With Quote
 
Pegasus [MVP]
Guest
Posts: n/a
 
      12th Jul 2010


"RichardOnRails" <(E-Mail Removed)> wrote in
message
news:554c88b1-04fc-42ce-8d8f-(E-Mail Removed)...
> On Jul 11, 1:58 pm, "Pegasus [MVP]" <n...@microsoft.com> wrote:
>> "RichardOnRails" <RichardDummyMailbox58...@USComputerGurus.com> wrote in
>> messagenews:cd697713-6125-4a9b-8cce-(E-Mail Removed)...
>>
>>
>>
>> > I've got a 3-line bat file:
>> > rake ready_for_the_day
>> > @echo ------
>> > rake COFFEE_CUPS=5 make_coffee

>>
>> > (BTW: Rake is Ruby's version of make: it invokes Ruby commands rather
>> > the U*ix cmds. The arguments identify a task within a Rakefile in the
>> > current directory, possibly with settings for environment variables)

>>
>> > The above ,bat file invokes the first command successfully, AFAIK, and
>> > then quits
>> > When I comment out the first cmd with a leading colon the echo works,
>> > as does the 2nd cmd

>>
>> > Could a Rake.exe shut down the batch cmd that invoked it. If so, is
>> > there any way I could insulate the batch command file from such a
>> > shutdown attempt?

>>
>> > Thanks in Advance,
>> > Richard

>>
>> Try this:
>> @echo off
>> start /b rake ready_for_the_day
>> echo Label 1
>> pause
>> rake COFFEE_CUPS=5 make_coffee
>>
>> Note also that you should include full paths for all file names
>> referenced
>> in batch files if you want the batch file to be robust. Rake.exe has no
>> path
>> in your example.

>
> Hi Pegasys,
>
> Thanks for your response.
>
>> Rake.exe has no path in your example.

> True, but Rake's path is provided in my installation of Ruby: K:/
> _Utilities/ruby186-26_rc2/ruby/bin/ (BTW, Ruby adjusts path
> separators to the OS environment.)
>
> I looked up the specs on cmd and start. It looks like they were drawn
> up by lawyers :-)
> In your view, is there a reason to prefer "start /b" to "cmd /c"?
>
> Thanks in Advance,
> Richard


"Start" and "cmd" are different things.

"Start" creates a new thread, one that is independent from the current
thread. You use it when you want to invoke two processes that are
independent of each other..

"Cmd" spawns another instance of the Command Processor. In other words, it
causes the batch file to go off at a tangent. However, the batch file will
not continue until the new command processor finishes its job.

The complexity of switches that worries you is a delight for programmers
because it gives them great flexibility.

 
Reply With Quote
 
RichardOnRails
Guest
Posts: n/a
 
      13th Jul 2010
On Jul 12, 6:19*pm, "Pegasus [MVP]" <n...@microsoft.com> wrote:
> "RichardOnRails" <RichardDummyMailbox58...@USComputerGurus.com> wrote in
> messagenews:554c88b1-04fc-42ce-8d8f-(E-Mail Removed)...
>
>
>
> > On Jul 11, 1:58 pm, "Pegasus [MVP]" <n...@microsoft.com> wrote:
> >> "RichardOnRails" <RichardDummyMailbox58...@USComputerGurus.com> wrote in
> >> messagenews:cd697713-6125-4a9b-8cce-(E-Mail Removed)...

>
> >> > I've got a 3-line bat file:
> >> > * *rake ready_for_the_day
> >> > * *@echo ------
> >> > * *rake COFFEE_CUPS=5 make_coffee

>
> >> > (BTW: Rake is Ruby's version of make: it invokes Ruby commands rather
> >> > the U*ix cmds. *The arguments identify a task within a Rakefile inthe
> >> > current directory, possibly with settings for environment variables)

>
> >> > The above ,bat file invokes the first command successfully, AFAIK, and
> >> > then quits
> >> > When I comment out the first cmd with a leading colon the echo works,
> >> > as does the 2nd cmd

>
> >> > Could a Rake.exe shut down the batch cmd that invoked it. *If so, *is
> >> > there any way I could insulate the batch command file from such a
> >> > shutdown attempt?

>
> >> > Thanks in Advance,
> >> > Richard

>
> >> Try this:
> >> @echo off
> >> start /b rake ready_for_the_day
> >> echo Label 1
> >> pause
> >> rake COFFEE_CUPS=5 make_coffee

>
> >> Note also that you should include full paths for all file names
> >> referenced
> >> in batch files if you want the batch file to be robust. Rake.exe has no
> >> path
> >> in your example.

>
> > Hi Pegasys,

>
> > Thanks for your response.

>
> >> Rake.exe has no path in your example.

> > True, but Rake's path is provided in my installation of Ruby: *K:/
> > _Utilities/ruby186-26_rc2/ruby/bin/ *(BTW, Ruby adjusts path
> > separators to the OS environment.)

>
> > I looked up the specs on cmd and start. *It looks like they were drawn
> > up by lawyers :-)
> > In your view, is there a reason to prefer "start /b" to "cmd /c"?

>
> > Thanks in Advance,
> > Richard

>
> "Start" and "cmd" are different things.
>
> "Start" creates a new thread, one that is independent from the current
> thread. You use it when you want to invoke two processes that are
> independent of each other..
>
> "Cmd" spawns another instance of the Command Processor. In other words, it
> causes the batch file to go off at a tangent. However, the batch file will
> not continue until the new command processor finishes its job.
>
> The complexity of switches that worries you is a delight for programmers
> because it gives them great flexibility.


Excellent explanation. I'll think about this if I decide to resume
this batch-file approach.
I just started exploring a perhaps more appropriate way to executing
my commands successively: Using Rake, which a a Ruby version of the
venerable Un*x make utility. But that's in suspense while I work on a
more pressing problem.

But thanks for illuminating this issue for me.

Best wishes,
Richard
 
Reply With Quote
 
 
 
Reply

Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Re: BAT and CMD file execution bug Bill Sanderson Spyware Discussion 0 3rd Feb 2005 05:59 AM
.exe file execution Hari Microsoft VB .NET 4 16th Aug 2004 03:12 AM
.exe file execution Hari Microsoft Dot NET 0 13th Aug 2004 07:56 PM
File execution from .NET Tamir Khason Microsoft C# .NET 2 14th Dec 2003 06:38 PM
EXE and BAT file execution Anver Microsoft Outlook Discussion 0 20th Aug 2003 12:30 PM


Features
 

Advertising
 

Newsgroups
 


All times are GMT +1. The time now is 08:10 PM.