mirror of
https://github.com/opsxcq/mirror-textfiles.com.git
synced 2025-08-19 03:41:40 +02:00
327 lines
13 KiB
Plaintext
327 lines
13 KiB
Plaintext
|
|
Ä Area: Batch file programming (Fido) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
|
|
Msg#: 99 Date: 11 Jul 95 15:50:32
|
|
From: Matthew Lewis Read: Yes Replied: No
|
|
To: Rick Viscusi Mark:
|
|
Subj: Multi-Config (Part 1)
|
|
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
|
|
@MSGID: 1:134/32 30029de3
|
|
@REPLY: 1:267/161.0 30019f73
|
|
@PID: GED G0615
|
|
Hello Rick,
|
|
|
|
At 17:45, 10 Jul 95, Rick Viscusi wrote to Matthew Lewis:
|
|
|
|
ML>> when using the DOS 6+ multi-config option,
|
|
|
|
RV> Multi-config, what is this all about?
|
|
|
|
Multi-config setups are nothing new to many denizens of BATPOWER, and others
|
|
who play with the setup of their computers.
|
|
|
|
Prior to the release of MS-DOS version 6.0, it was most often done with a batch
|
|
file that would copy alternate Autoexec.Bat and Config.Sys files to the root
|
|
directory of the boot drive, or by booting from a floppy disk set up for a
|
|
particular configuration.
|
|
|
|
With the release of MS-DOS 6.0, Microsoft included a new feature, which some,
|
|
including myself, feel is one of their brighter ideas.
|
|
|
|
This feature allows you to include a MENU in your Config.Sys file, which will
|
|
allow you up to 9 choices of how you want to boot the system. Any of these 9
|
|
can also be a SUBMENU offering another 9 choices. A SUBMENU can also have more
|
|
SUBMENUs.
|
|
|
|
I don't know if there's a limit to how many levels deep you can go with these
|
|
SUBMENUs, but I've successfully gone 5 levels deep with no problems while just
|
|
playing with it to see what could be done.
|
|
|
|
The possibilities are limited only by your imagination.
|
|
|
|
Indeed, one of Microsoft's brighter ideas.
|
|
|
|
Here's how it works, showing some examples from my own configuration for the
|
|
machine I'm using at the moment. They're totally different on each of my
|
|
computers.
|
|
|
|
Here are the first few lines of my Config.Sys file:
|
|
|
|
[MENU]
|
|
MENUCOLOR=14,4
|
|
MENUITEM=Bbs, Flossie's Saloon {2}
|
|
SUBMENU=Links, LINKS Golf
|
|
MENUITEM=Win, Microsloth Windoze 3.1
|
|
SUBMENU=MS-DOS, MS-DOS 6.20
|
|
MENUITEM=Test, System Test & Maintenance
|
|
MENUDEFAULT=Bbs, 15
|
|
|
|
That first line tells DOS that this is a menu. You can have only one "[MENU]"
|
|
line in Config.Sys, and though not certain, I believe it must be the very first
|
|
line.
|
|
|
|
Next, MENUCOLOR sets the colors (logical) 14,4 gives me bright yellow text on
|
|
a red background. This immediately gets my attention, and I find it easy to
|
|
read. You can use any color combination that looks good to you. This line is
|
|
optional.
|
|
|
|
The next 5 lines (MENUITEM & SUBMENU) are the choices what will appear on the
|
|
screen. The part after the equals sign and before the comma, is the actual
|
|
name of that configuration or submenu. It's also known as a block name. More
|
|
on "Blocks" later. The part after the comma is the text that will appear on
|
|
the screen. I believe it's limited to 60 characters. You can have up to 9
|
|
choices per menu.
|
|
|
|
The last line above (MENUDEFAULT) is optional. If used, that menu choice will
|
|
be highlighted. If not used, the first choice will be highlighted. The comma
|
|
and following number are optional. If used, that choice will automatically be
|
|
selected after that number of seconds. If a zero is used, that choice will
|
|
immediately be selected, and you won't even see the menu.
|
|
|
|
When the system boots, the menu will be displayed. If a time was specified on
|
|
the MENUDEFAULT line, you'll see a countdown timer.
|
|
|
|
At this point, hitting the Enter key will select the highlighted item, which is
|
|
the default. If you want a different choice, just move the highlight bar with
|
|
the up/down arrow keys, or type its number, and hit Enter to select it.
|
|
|
|
Ok, I guess it's time to explain "Blocks" now.
|
|
|
|
You build your Config.Sys file with "Blocks." Any line enclosed in square
|
|
brackets is a "Blockname" and all lines below it, until the next "Blockname"
|
|
are a part of that "Block." Simple, eh?
|
|
|
|
Blocknames are like labels in a batch file. When you select a choice from the
|
|
menu, Config.Sys branches (jumps) to that Block, and executes those lines. It
|
|
also sets the environment variable CONFIG to that Blockname. This comes in
|
|
very handy later on, when we get into Autoexec.Bat.
|
|
|
|
I'm starting to go a bit long here, so I'll continue in "Part 2" of this
|
|
message.
|
|
|
|
Wouldn't want to exceed the dreaded 99 line limit of some older readers.
|
|
|
|
Matthew.....
|
|
|
|
-!-
|
|
! Origin: Flossie's Saloon & BFDS Site * Calgary * 1-403-262-5998 (1:134/32)
|
|
SEEN-BY: 134/1 2 14 17 32 40 42 85 143 146 207 211 202/203 300 406 701 777
|
|
SEEN-BY: 202/800 900 1112 1206 1207 1301 1601 1709 396/1 3417/2 3615/50 51
|
|
@PATH: 134/32 17 3615/50 202/777 1207
|
|
|
|
|
|
Ä Area: Batch file programming (Fido) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
|
|
Msg#: 100 Date: 11 Jul 95 15:51:06
|
|
From: Matthew Lewis Read: Yes Replied: No
|
|
To: Rick Viscusi Mark:
|
|
Subj: Multi-Config (Part 2)
|
|
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
|
|
@MSGID: 1:134/32 3002a76f
|
|
@REPLY: 1:267/161.0 30019f73
|
|
@PID: GED G0615
|
|
Hello Rick,
|
|
|
|
Continuing from where I left off in Part 1 of this message.
|
|
|
|
Here's my [Links] block:
|
|
|
|
[Links]
|
|
MENUITEM=Lj, Play with Joystick
|
|
MENUITEM=Lm, Play with Mouse
|
|
SUBMENU=MENU, Return to Main Menu
|
|
MENUDEFAULT=Lm
|
|
|
|
I've got 3 choices on this SUBMENU. The third is one I've not seen documented
|
|
anywhere, but decided to try several months ago, as the structure of the main
|
|
menu and submenus are the same. Sure enough, it worked, and I've been using it
|
|
ever since as a convenient "Bail-Out" which takes me back to the very top
|
|
should I decide I didn't really want to do that anyway.
|
|
|
|
Note there's no time specified on the MENUDEFAULT line. That feature doesn't
|
|
work in submenus, but it will still highlight the default, so pressing the
|
|
Enter key will still select it.
|
|
|
|
"Play with Mouse" is now highlighted, but I want to use the joystick instead,
|
|
so I either type a "1" or hit the up arrow key to select the first choice, and
|
|
then hit the Enter key, and it branches to my [Lj] block.
|
|
|
|
[Lj]
|
|
DEVICE=C:\DOS\SETVER.EXE
|
|
DEVICE=C:\DOS\HIMEM.SYS
|
|
DEVICE=C:\DOS\RAMDRIVE.SYS 1600 /E
|
|
DEVICE=C:\BIN\TANSI.SYS
|
|
DOS=HIGH
|
|
BUFFERS=40
|
|
FILES=32
|
|
LASTDRIVE=D
|
|
SET CONFIG=Links
|
|
SHELL=C:\DOS\COMMAND.COM C:\DOS\ /E:256 /P
|
|
STACKS=0,0
|
|
|
|
This looks pretty much like a run-of-the-mill Config.Sys file, except for that
|
|
"SET" command, doesn't it?
|
|
|
|
Beginning with MS-DOS version 6.0, you can use the SET command to set
|
|
environment variables from Config.Sys rather from a batch file later.
|
|
|
|
I don't recommend this as a normal practice, as it will cause memory to be
|
|
wasted later on, but Config.Sys has already set the CONFIG variable to "[Lj]"
|
|
so I'm only adding 3 bytes here, and it will save me some work later on.
|
|
|
|
If I had selected to play with the mouse instead of the joystick, the SUBMENU
|
|
would have branched to my [Lm] block instead.
|
|
|
|
[Lm]
|
|
INCLUDE=Lj
|
|
DEVICE=C:\BIN\MOUSE.SYS /3K /BHIGH /S02 /DLEFT /CENHANCE /COFF /1
|
|
|
|
That INCLUDE command can save you a lot of typing. This block executes all the
|
|
commands in my [Lj] block, and loads my mouse driver, which is the only
|
|
difference between the two configurations.
|
|
|
|
Whoever came up with the idea for Microsoft's Multi-Config is starting to sound
|
|
even brighter now. Pity they don't have a few more like him.
|
|
|
|
Finally, after several more "Blocks" we get down to the bottom of the
|
|
Config.Sys file, where we find:
|
|
|
|
[COMMON]
|
|
NUMLOCK=OFF
|
|
|
|
Any commands in the [COMMON] block will be included every time you boot.
|
|
|
|
That's the only command I use in ALL of my configurations, but you can include
|
|
as many as you wish to, or even leave this block out if you have no common
|
|
commands.
|
|
|
|
That's pretty well all there is to setting up a Multi-Config Config.Sys file.
|
|
|
|
All the details, and several examples can easily be found by going to your DOS
|
|
prompt and typing:
|
|
|
|
HELP MULTI-CONFIG
|
|
|
|
This will even give you more information than the printed manual.
|
|
|
|
Looks like I better start a "Part 3" to explain the various options available
|
|
in Autoexec.Bat, though some readers will have already figured that out on
|
|
their own. I've given them sufficient clues.
|
|
|
|
Matthew.....
|
|
|
|
-!-
|
|
! Origin: Flossie's Saloon & BFDS Site * Calgary * 1-403-262-5998 (1:134/32)
|
|
SEEN-BY: 134/1 2 14 17 32 40 42 85 143 146 207 211 202/203 300 406 701 777
|
|
SEEN-BY: 202/800 900 1112 1206 1207 1301 1601 1709 396/1 3417/2 3615/50 51
|
|
@PATH: 134/32 17 3615/50 202/777 1207
|
|
|
|
|
|
Ä Area: Batch file programming (Fido) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
|
|
Msg#: 101 Date: 11 Jul 95 16:31:44
|
|
From: Matthew Lewis Read: Yes Replied: No
|
|
To: Rick Viscusi Mark:
|
|
Subj: Multi-Config (Part 3)
|
|
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
|
|
@MSGID: 1:134/32 3002b2c3
|
|
@REPLY: 1:267/161.0 30019f73
|
|
@PID: GED G0615
|
|
Hello Rick,
|
|
|
|
Continuing from Part 2 (this should finish it) ...
|
|
|
|
Now that we're done with Config.Sys, it's on to Autoexec.Bat, a subject
|
|
slightly more "On-Topic" for the echo. ;-)
|
|
|
|
Remember those "Blocknames" we used in Config.Sys ?
|
|
|
|
The one we chose to boot with is now available to us as the CONFIG environment
|
|
variable, unless we changed that variable with a SET command in Config.Sys.
|
|
|
|
This gives a lot of decision making power in Autoexec.Bat.
|
|
|
|
Microsoft suggests using the IF command, and/or the GOTO command with labels
|
|
having the same names as your Blocknames.
|
|
|
|
Any place in a batch file where you use the string "%CONFIG%" (without the
|
|
quotes) DOS will substitute the contents of the CONFIG variable, which is your
|
|
Blockname, unless you changed it.
|
|
|
|
You could use commands like these:
|
|
|
|
If %CONFIG% == Win C:\Dos\Smartdrv
|
|
If not %CONFIG% == Win d:\path\load some other cache
|
|
and so on ...
|
|
|
|
Or do it this way:
|
|
|
|
This gets done on every boot
|
|
That gets done on every boot too
|
|
Some other thing gets done all the time as well
|
|
GOTO %CONFIG%
|
|
:Win
|
|
rem do all your Windows setup stuff here
|
|
win
|
|
goto end
|
|
:WP
|
|
rem setup WordPerfect here
|
|
wp
|
|
goto end
|
|
:Links
|
|
rem off to the golf course
|
|
goto end
|
|
:BBS
|
|
rem do setup
|
|
bbs.bat
|
|
:Test
|
|
rem setup Test configuration here
|
|
:end
|
|
|
|
Note that I didn't include a "goto end" after starting the BBS. If the command
|
|
you use to start a program is another batch file, you don't need it.
|
|
|
|
If, on the other hand, I had left out the "goto end" commands below the :Win,
|
|
:WP, and :Links labels, and booted up to run Windows, when I exited Windows, it
|
|
would load WordPerfect, followed by Links, and finally try to run the BBS.
|
|
|
|
Well, I went and figured out yet another way that Microsoft didn't suggest.
|
|
|
|
Create a separate "Autoexec.Bat" for each of your configuration options, but
|
|
give them names the same as your Blocknames, like Win.Bat, BBS,Bat, Links.Bat,
|
|
and so on. Keep the root directory a bit cleaner by putting them all in a
|
|
subdirectory (C:\BOOT is a logical choice) then you can have an Autoexec.Bat
|
|
file in the root directory with the single line:
|
|
|
|
@C:\Boot\%CONFIG%
|
|
|
|
I've done it this way (almost). There are a few things I want to do EVERY time
|
|
I boot, so I put those commands in my Autoexec.Bat file, which uses the above
|
|
line as its last line.
|
|
|
|
There's nothing difficult at all about this Multi-Config thing, but it does
|
|
require a bit of work on your part to put it all together.
|
|
|
|
I happen to feel it's worth the extra work, as it allows me to boot up with a
|
|
configuration that's optimized for whatever application I want to run at the
|
|
time.
|
|
|
|
It's not for everyone, but for those who take the time to set it up, it can
|
|
make life with a computer much friendlier.
|
|
|
|
A final note about "Blocknames." They can be up to 70 characters long, but if
|
|
you want to use them later as labels, only the first 8 characters are
|
|
significant (first 40 for 4DOS or NDOS).
|
|
|
|
If you want to use them later as filenames, the maximum is 8 characters.
|
|
|
|
And a final, final note, on Config.Sys. It seems that the [MENU] line does NOT
|
|
need to be the first line in Config.Sys, but anything above it will be executed
|
|
with every boot. (read through the help file again)
|
|
|
|
Matthew.....
|
|
|
|
-!-
|
|
! Origin: Flossie's Saloon & BFDS Site * Calgary * 1-403-262-5998 (1:134/32)
|
|
SEEN-BY: 134/1 2 14 17 32 40 42 85 143 146 207 211 202/203 300 406 701 777
|
|
SEEN-BY: 202/800 900 1112 1206 1207 1301 1601 1709 396/1 3417/2 3615/50 51
|
|
@PATH: 134/32 17 3615/50 202/777 1207
|
|
|