Computer Tyme IniTyme * Copyright 1993 by Marc Perkel
All Rights Reserved * Version 1.0 * Release Date: 06-16-92

Computer Tyme * 411 North Sherman, Suite 300 * Springfield Mo. 65802
(800) 548-5353 Sales * (417) 866-1222 Voice * (417) 866-1665 Data

IniTyme is a Windows *.INI file manipulator. It is designed to assist the
network administrator who has to maintain INI files for many users.

USAGE: INITYME ChangeFile IniFile

Example:
  INITYME CHANGE.INI SYSTEM.INI

In the above example CHANGE.INI is the control file that will control the
changes that will be written to the target file SYSTEM.INI. The ChangeFile
is formatted like an INI file. A sample changefile might look like this:

    ; CHANGE.INI : A sample changefile for the IniTyme Program.

    subst 'C:\WINDOWS\PM4\' 'W:\PM4'

    [boot]
    del sound.drv=

    del [keyboard]

    [386Enh]
    Paging=1
    Device=mydev.386
    foo=bar
    ADD TestMode=3
    CHANGE mydevice=mydriver.386

    [fonts]
    subst 'V:\' 'P:\WINDOWS\'

Any line that starts with the semi-colon is a comment and will not be
processed.

The SUBST command is used to replace strings within an INI file. It can be
used in two fashions either Globally throughout the file or locally within
a group. In the above example it is used both ways. Identifying groups is
done by using square brackets just like in an INI file.

Putting the line SUBST 'C:\WINDOWS\PM4\' 'W:\PM4' outside a group header
will cause the path string 'C:\WINDOWS\PM4\' to be globally replaced
throughout the file with 'W:\PM4'. In the last line of the above example the
SUBST 'V:\' 'P:\WINDOWS\' command will replace only those strings that match
in the group [fonts].

The DEL command is used to remove unwanted lines from the target INI file.
In the previous example any lines starting with the string SOUND.DRV= will
be deleted from the [BOOT] group. The DEL command can also be used to remove
entire groups as illustrated in the example line DEL [KEYBOARD].

Adding and updating lines is done by listing the new lines as you wish them
to appear. In the example there is a line in the [386ENH] group that reads
PAGING=1. If the target INI files does not contain a [386ENH] group it will
be added, if that group does not contain a PAGING=1 line it will be added to
the group. If a line in the [386ENH] group already exists that sets PAGING=
set to another value it will be replaced with the line in the changefile.
The word DEVICE= is a special case and it is automatically added unless the
whole line matches something that's already there.

The ADD command works similarly except that if there is a pre-existing
matching line it will not be overwritten. There is also a CHANGE command,
this command will update an existing matching line, but will not add the
line if it does not pre-exist.

INITYME also has special provisions for handling the [GROUPS] section on the
PROGMAN.INI. This section numbers the groups that are referenced. INITYME
will scan the groups listed and determine the first available group number
when it is adding to the [GROUPS] group.

To illustrate, if the PROGMAN.INI files group section reads as follows:

    [Groups]
    Group1=H:\WINDOWS\MAIN.GRP
    Group2=H:\WINDOWS\ACCESSOR.GRP
    Group4=H:\WINDOWS\STARTUP.GRP
    Group5=H:\WINDOWS\BP7.GRP
    Group6=H:\WINDOWS\ALDUS.GRP
    Group7=F:\HOME\MARC\WINDOWS\WORDFORW.GRP
    Group8=F:\HOME\MARC\WINDOWS\MICROSOF.GRP
    Group3=F:\HOME\MARC\WINDOWS\EDOS.GRP


and your ChangeFile contains:

    [Groups]
    DEL group=BP7.GRP
    Group=MAIN.GRP
    Group=MYGROUP.GRP
    DEL group=EDOS.GRP
    Group=Z:\SYSTEM\TEST.GRP
    Group=MASTER.GRP

After executing IniTyme your PROGMAN.INI group section would now read:

    [Groups]
    Group1=MAIN.GRP
    Group2=H:\WINDOWS\ACCESSOR.GRP
    Group4=H:\WINDOWS\STARTUP.GRP
    Group6=H:\WINDOWS\ALDUS.GRP
    Group7=F:\HOME\MARC\WINDOWS\WORDFORW.GRP
    Group8=F:\HOME\MARC\WINDOWS\MICROSOF.GRP
    Group5=MYGROUP.GRP
    Group3=Z:\SYSTEM\TEST.GRP
    Group9=MASTER.GRP


Whenever INITYME runs it creates a backup of the original file with a *.BNI
extension. If you decide you don't like the changes you've made you can
execute a 1 generation restore with the command:

     INITYME RESTORE SYSTEM.INI

This will delete the current SYSTEM.INI file and rename the SYSTEM.BNI file
to SYSTEM.INI. If a matching BNI file is not present then the restore
command does not do anything.

If by chance you are in a situtation where murphy has tried to make your day
really bad and you've screwed up your INI files royally, be sure to remember
the SALVAGE command from netware. But nothing, not even salvage, is an
acceptable substitute for a current set of backups. One suggestion might be
to use PKZIP to ZIP up a set of your pre-modified INI files. This gives you
the opportunity to play without risk. Nothing beats backups!

IniTyme can be used to update many INI file in bulk by creating a ListFile
contains a list of INI files. Then simply provide IniTyme with the filename
of the list file instead of a specific INI file. The syntax of a list file
should be something like:

                     \home\phil\windows\system.ini
                     \home\marc\windows\system.ini
                     ...etc...

You can also pipe a list of files to IniTyme as follows:

  WHEREIS SYSTEM.INI|INITYME CHANGE.INI


==> WE WANT YOUR INPUT

If you like this program and you can think of more features that it needs,
give me a call and I will probably add them.

IniTyme is licensed for $95 per fileserver. $995 unlimited servers.

IniTyme is written in the MarxMenu network system language. IniTyme is
included free with the Network Survival Kit along with source code allowing
you to add your own features to the program.
