LWed - Windows INI file editor User's manual


Version 2.2.9 of 1997-08-08, Copyright 1996,1997 (C) Laszlo Radanyi


Table of contents

License Issues

This version of LWED is distributed as SHAREWARE. You may use the program unlimitedly for 30 days at which time you have to decide to eighter discard the program or register it. You are encouraged to distribute the unregistered version of LWED as long as the package is not modified.

The registration fee is 5 USD, which is best sent via snail mail after contacting the author via email.

By registering LWED, you gain a single user license to the product and you help the author to make even better products. Registered users also have life-time support for the product via email. All registered users have right to all new versions of lwed as long as the license is valid.

Upon registering, the user receives a registered version of the program which has different license conditions.

This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantibility or fitness for a particular purpose.

The user should be aware of the risks of manipulating the windows initialization files. Careless changes to some ini files may render the system unusable. The author of lwed accepts no responsibility for any loss of functionality or loss of data as result of the use of this product.

Windows is the registered trademark of Microsoft Corporation.
4DOS a registered trademark of JP software Inc.

Introduction

Lwed is a utility for manipulating Windows(TM) INI files from DOS. Its history is simple; its function may be simple too, but over the years, LWED has grown to be able to do most of what a power user should want from a program of this kind.

The program is started with a command name and parameters for this command. Each action has a more or less verbose name, which may make them easier to remember. Most of the functions have a shorter, one character name too.

There is a built-in help system with several pages of information on switches. I have tried to arrange the switches in increasing chance of usage, but the main purpose behind using pages is that there are more functions than can be showed on a singe page in DOS.

Rather than writing a command for changing one value at a time in an INI file, LWED can MERGE two INI files. This is done in a straight forward manner; see the section about --merge.

You are very welcome with comments about this program; I am particulary interested in comments about how the program fits different needs.

Although there are a lot of other INI file manipulating utilities on the Internet, I sincerely believe that this is THE one you need.

User's Manual

LWED is a DOS command-line mode program, and it is aimed at batch use that is, it needs command-line arguments to complete a function. The user also has the option to use a 'response file' to supply arguments to LWED. See "The Response File" for more information about this.

Switches - or modes - can be forward slashes '/' which is very common under DOS, and you can also use a dash '-'. You need two switch characters for a verbose switch, like '--' or '//'.

From version 2.2.8, a switch is not necessary, although you can supply one. Thus, the options v, and version have the very same meaning as -v, /v, --version and //version

The arguments used by the program are referenced between less-than and greater-than signs. The names used are as follows:

<ini file name> The target INI file name. if this file is in the same directory as LWED, only the file name is necessary,otherwise the full path needs to be given.
<section> The target section, that is, the INI value starting after a string enclosed in brackets as in [section] and until the next such section name is encountered.
<key> The string before the first equal sign on one line in the given section.
<value> The string after the first equal sign on one line in the given section.
<variable> The name of the environment variable to use for the '-e' function.

For all operations that need a value, (like write), you can supply a single dash '-' in place of the value, which tells LWED to read the data to be written from the standard input stream. This makes it possible to

  • Read a value into a temporary file
  • Then let LWED read this value from the temporary file and do something with it.
For example, given a file SOURCE.INI with a section foo and key bar, you could do as follows:
LWED r SOURCE.INI foo bar > TMPFILE.DAT
		
then you could write the read value into the file TARGET.INI, key foo2 and key bar2:
LWED w TARGET.INI foo2 bar2 - < TMPFILE.DAT
DEL TMPFILE.DAT >NUL
		
I made this change to obsolate the master environment hacks. They are bad, do not work on every system, and they rely on undocumented features of MS DOS. I strongly encurage you to use the stream method instead of any solution involving the '-e' command.

As you'd probably expect, the dash method also works when combined with a response file.

Basic functions

The basic functions are the most used or oldest functions; they are probably what you would expect from a program like this.
h or help
This launches the the built-in help system
v or version
Prints version information along with registration data to the standard output stream. The version information is necessary when communicating with the author. This can also help you to see if there is a newer version distributed. Newer versions are generally better since the reported bugs are always corrected before new functionality is added.
r or read
Prints value of key to the standard output stream.
w or write
Changes an existing key value as specified; if the key doesn't exist, a new key is created.
a or append
Appends value to the current value of key. If the key doesn't exist, a new key is created.
i or insert or prepend
Inserts value immediately after the equal sign '=' of key. If the key doesn't exist, a new key is created.
d or delete
Removes key from section.
m or merge
Writes the contents of source file into target file just as you would write value for value. Please pay attention to that MERGE does NOT handle SYSTEM.INI/[386Enh] very well, since it uses standard INI write operations; that is, for each [section], for each key in the source file, it writes [Section]/key=value into the target file. This means that the first device= statement could be over written several times.
e or read_to_environment
Reads value into variable in the master environment. If the variable is not set, a new is written.
WARNING: This function relies on Int2E. 4DOS users should be particulary careful with this function, see the 4DOS manual for more information.

With the new possibility to read values from the standard input stream , I would urge you to drop the use of this feature.

Advanced functions

c or comment
Inserts a comment character ';' before the entry.
q or write_quoted
Writes value inside of double quotes. For example:
LWED -q TEST.INI section key quotedValue
				
results in the following entry written into the file TEST.INI in the same directory as LWED.EXE:
[section]
key="quotedValue"
				
Remember; just setting the value within quotes on the command line won't make LWED read the quoted value. That is because of the command shell, which uses the quotes internally.

When you use the '-' value specification or when you use a response file, LWED can read even a quoted value, in which case the q option is not necessary.

write_blind
Writes key = value as first entry in section without search for an already existing value.
write_pair
Searches for key=value under section and creates the key if it doesn't exist. This is essentially the same function as write, but this one also looks for the supplied value; that is: the function does not modify just any key to set its value. All matching keys are searched for their values too, and only if the key/value pair doesn't already exist will an entry be written into the INI file.
** NOTE ** The pair functions all are primarily intended to deal with the [386Enh] section in SYSTEM.INI, since this section contains a lot of keys named 'device' but different values.
comment_pair
Searches for key=value under section and places a comment character before the key. This is the same function as 'comment' but it also looks for the value.
delete_pair
Searches for key=value under section and removes the entry.
delete_section
Removes section from the INI file named <ini file name>.
read_section
Prints the entire contents of section to the standard output stream.

The response file


What a response file is

You can use a separate file to give LWED the commands it needs. Such a file contains the same information as LWED would get from the command line. What you gain is the possibility to supply longer commands and parameters to LWED than the command line would permit.

Typically, the COMMAND.COM command line cannot take more than 128 characters. If you need to supply, say, 120 characters, it would be hard to do with LWED, since the program name and the switches (or commands) would take some space from the available 128 bytes.

Under other environments it would be possible to increase the command line length to much higher values, but a response file could still be useful.

Using a response file

You use a response file by giving its path and name to LWED as first parameter, lead by a '@' character. Example:

LWED @MYRESP.TXT
LWED @E:\LIB\CCT.RF
				

The first command would use the file MYRESP.TXT int the current directory for command input, the second would use E:\LIB\CCT.RF since full path to the file is given.

Any additional parameters supplied to LWED after the response file specifier parameter will be ignored.

Response file syntax

Each line in the response file contains one 'word' from an imaginate command line. Suppose you have an LWED command like this:

LWED r c:\windows\win.ini desktop wallpaper
		

A command line using a response file named LWEDR.TXT in the current directory would look like this:

LWED @LWEDR.TXT
		

and the contents of this file:

r
c:\windows\win.ini
desktop
wallpaper
		

In addition to parameters, you can comment your parameters. Any line starting with a ';' character will be skipped by LWED. Empty lines are also skipped, so it's possible to have a response file like this:

; my settings: bla bla bla
-w
;
; bla bla blabla bla blabla bla blabla bla bla
T.INI
;
;bla bla blabla bla bla


foo
bar
		

The built-in help

The built-in help is invoked by issuing the command 'LWED' alone on the command line or by giving eighter of the '?' 'h' options. Help consists of three pages, BASIC, ADVANCED and MISCELLANEOUS. All pages are just written to the standard output. LWED waits for a keystroke on all screens; you can go to eighter page by pressing '1' (ONE) '2', or '3'. You exit help by pressing any other key than '1','2' or '3'.

About The Author

Laszlo Radanyi is working as C/C++ developer at Linne Interactive Design in Gothenburg, Sweden. He can be reached at 'lrd@plea.se' or 'laszlo@interactive.se'.