migdol@emx.utexas.edu (Michael A. Migdol) (05/23/91)
Ok, maybe I'm an idiot for trying to do this, but here's a summary of
my efforts: I'm trying to run several applications in a row from a batch
file. For various reasons, I've concluded that the machine needs to reboot
between applications. So, here's what I've got:
batch1
copy \autoexec.bat \autoexec.tmp
appl1
copy batch2 \autoexec.bat
reboot { a small program I wrote to cold boot the machine }
batch2
appl 2
copy batch3 \autoexec.bat
reboot
batch3
appl3
copy \autoexec.tmp \autoexec.bat
reboot
Make sense? The problem is that the batch file is writing over itself...does
anyone have any suggestions?
Thanks in advance!
*****************************************************************************
* Michael A. Migdol | Disclaimer: *
* migdol@emx.utexas.edu | "I may be wrong" *
* University of Texas, Austin | (Thanks Robert Fulghum!) *
*****************************************************************************
* "There's no such thing as a simple miracle" *
*****************************************************************************a_rubin@dsg4.dse.beckman.com (05/23/91)
In <49380@ut-emx.uucp> migdol@emx.utexas.edu (Michael A. Migdol) writes: > Ok, maybe I'm an idiot for trying to do this, but here's a summary of >my efforts: I'm trying to run several applications in a row from a batch >file. For various reasons, I've concluded that the machine needs to reboot >between applications. So, here's what I've got: How about this: batch1 copy \autoexec.bat \autoexec.tmp appl1 restart batch2 batch2 appl2 restart batch3 batch3 appl3 restart \autoexec.tmp restart copy %1 \autoexec.bat reboot -- a_rubin@dsg4.dse.beckman.com My opinions are my own, and do not represent those of my employer.
reaper@wixer.helps.cs.utexas.edu (Keath Milligan) (05/23/91)
MS-DOS reads batch files as they are being executed one line at a time. Batch
files can either execute another batch file and return to the original or they
can chain to another batch file (ie, stop executing one and start executing
another).
To call one batch file from within another use:
CALL <batch file name>
<batch file name> may be specified with or without the .BAT exentension. CALL
will search the path for the batch file just as if it had been executed from
the command line. MS-DOS will read and execute ths batch file, when it is
finished, it will continue executing the original batch file.
To stop executing one batch file and start executing another ("chaining"),
simply use the batch file name as usual.
Examples:
path C:\DOS;C:\BATCAVE;C:\TOOLS
rem This will execute BATCH1 and return
CALL BATCH1
echo <back to the original file>
rem This will stop executing this batch file and start executing BATCH2
BATCH2
rem Commands below "BATCH2" won't be executed.cgordon@vpnet.chi.il.us (gordon hlavenka) (05/24/91)
In article <49380@ut-emx.uucp> migdol@emx.utexas.edu (Michael A. Migdol) writes: > > Ok, maybe I'm an idiot for trying to do this, but here's a summary of >my efforts: I'm trying to run several applications in a row from a batch >file. For various reasons, I've concluded that the machine needs to reboot >between applications. So, here's what I've got: I have done this before. I needed to LL format, FDISK, DOS format, and scan a couple dozen hard drives, so I set up a boot disk with script files and stuff to do it. The machine had to reboot three times for each drive. I used a set of batch files called PASS1.BAT, PASS2.BAT, and PASS3.BAT to do whatever was required for each pass. PASS1.BAT contained the line: rem stuff you need to do first... ECHO xxx > PASS2 REBOOT PASS2.BAT contained the lines: rem stuff you need to do in the middle... IF EXIST PASS2 DEL PASS2 ECHO xxx > PASS3 REBOOT PASS3.BAT contained the line: rem stuff you need to do last... IF EXIST PASS3 DEL PASS3 AUTOEXEC.BAT looked like this: IF EXIST PASS2 PASS2 IF EXIST PASS3 PASS3 PASS1 This seemed to sequence nicely. Of course, if things work properly, you don't need the "IF EXIST"s in PASS?.BAT, but I'm paranoid. -- ----------------------------------------------------- Gordon S. Hlavenka cgordon@vpnet.chi.il.us Disclaimer: Yeah, I said it. So what?
rdippold@cancun.qualcomm.com (Ron Dippold) (05/24/91)
In article <49380@ut-emx.uucp> migdol@emx.utexas.edu (Michael A. Migdol) writes: > > Ok, maybe I'm an idiot for trying to do this, but here's a summary of >my efforts: I'm trying to run several applications in a row from a batch >file. For various reasons, I've concluded that the machine needs to reboot >between applications. So, here's what I've got: >[...] >Make sense? The problem is that the batch file is writing over itself...does >anyone have any suggestions? If you're using a disk cache program that does staged writes, such as Hyper Disk Cache, running reboot will bypass the normal protection that the program has to keep you from rebooting your machine before all queued up sectors are written to the disk. If that is the case, put a pause before the reboots. -- Standard disclaimer applies, you legalistic hacks. | Ron Dippold