MDGx MAX Speed WinDOwS
WinDOwS Tricks - Part 1

Go to ALL WinDOwS ©Tricks + Secrets Contents
3-2-98 Original Win9x Registry ©Trick in REGISTRY.TXT, part of W95-11D.EXE:


MOVE WITHOUT REINSTALL


This is a tricky one, and requires a lot of messing with the Registry and/or with other configuration files. So BACKUP FIRST!
But if can be done (in certain cases anyway).
The principle is to move a Win95/98 application to another drive and/or folder, and modify its Registry/config file(s) settings to match the new location, without getting any error messages, like:

"Your Program is not properly configured/installed.
Windows cannot find XYZ.CFG file.
Please reinstall.
"

and without having to reinstall it (of course).
I am going to use "Outlaws" by Lucas Arts (a "shoot-em-up" cd-rom game) as example of doing this, step by step:

  1. Let's say you originally installed Outlaws in C:\Outlaws, but now you'd like to move it to D:\Outlaws (all its files and subfolders, of course). To move a folder and its contents to another drive, hold down Shift (in Explorer) while dragging and then releasing it onto the target drive icon. Then open Control Panel, and double-click "Add/Remove Programs". Scroll down to "Lucas Arts' Outlaws". The principle is to look for all Registry entries that match at least one word contained in your application's title, the one listed in "Add/Remove Programs" (also called "friendly name").

  2. Now run the Registry Editor (REGEDIT.EXE), located in your Windows folder. Click on Edit, and then Find (Ctrl-F). Type "outlaws" (no quotes) in the Find box. Click Find Next (press Enter), and modify all C:\Outlaws instances found to read D:\Outlaws. In this case, the Registry keys to look under are:

    HKEY_LOCAL_MACHINE\SOFTWARE\LucasArts Entertainment Company\Outlaws
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectPlay\Applications\Outlaws
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\OUTLAWS.EXE
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\LucasArts' Outlaws

    The last two Registry keys listed above ("App Paths" and "Uninstall") contain settings for most installed Win95/98 programs.
    Replace the first C:\Outlaws instance with D:\Outlaws, and then press F3 to find the next instance (and so on). Repeat this operation until you get this message:
    "Finished searching through the Registry"
    Close Regedit.
    In the above example there are no *.CFG, *.DAT, *.INI, *.LOG etc files you need to modify, either in your Windows folder or in the Outlaws folder. But other apps make use of such files, and you need to replace all your particular app's old folder instances with the new ones (to point to your program's new location), in all those files too (where applicable).

  3. Restart Windows when you're done.

There are several 3rd party uninstallers out there that can automate some of the steps above (especially if you use such a tool to monitor all your programs' installations), since most of them keep a record (log) of all changes made to your Win95/98 system during install.

Alternate method:
Use a dedicated program like Change Of Address 2 (COA2) [595 KB].

Back 2 Contents
2-25-98 Win9x ©Trick in TIPS95.TXT, part of W95-11D.EXE:


AUTOEXEC.BAT X 2


This trick was published in the October 1995 issue of PC Magazine.
You can run your AUTOEXEC.BAT after the boot process is over, and execute different command lines depending on whether you're running it during the bootup routine or afterwards.
The principle is to implement a MS-DOS batch variable to differentiate the lines you want to run only after bootup from those you like executed only at startup.
All you have to do is prefix your AUTOEXEC.BAT lines that should run only at bootup with this line:

IF "%0"==""

MS-DOS plugs a batch file name into the "%0" parameter when you execute it from the command line, but when AUTOEXEC.BAT is processed at bootup, this parameter is still blank.
Easier, if you have a group of command lines you'd like executed only at startup, just insert this on a separate line before them:

IF NOT "%0"=="" GOTO AFTERBOOT

Then insert the :AFTERBOOT label on a line of its own, after the last line in your selected group.
And if you have more than one group of such commands, use a different label for each one, e.g. :AFTERBOOT1, :AFTERBOOT2 etc.
If you have multiple such groups scattered throughout your AUTOEXEC.BAT, make sure to add a GOTO END line after the last line of each such group, and an :END label as the last line of your AUTOEXEC.BAT.

Back 2 Contents
2-25-98 Updated Original Win9x ©Trick in MYTIPS95.TXT, part of W95-11D.EXE:


DOS NOW!
[UPDATED 2-25-1998]


I found a fool-proof way to go to the native/real/true/pure MS-DOS mode when you click the Start button, then choose Shut Down, and select the default: "Shut down the computer" in Windows 95/98.
No more nagging "Waiting to shut down" or "It's safe to turn off..." screens either.
... And you can also boot directly to the native MS-DOS mode if you like. :)
To achieve this, you need to perform these 5 easy steps:
  1. Move the LOGOW.SYS + LOGOS.SYS files [just Windows bitmaps with a different extension :)] from your Windows folder (default is C:\Windows) to a backup disk, eventually together with these other files listed below.

  2. Move to an empty, formatted 1.44 MB floppy diskette all the following files (you may not have all of them depending on your Win9x setup), located in the root folder of your boot drive (C:\ is default):

    File Name:      Attributes:
    ---------------------------
    BOOTLOG.PRV     Hidden
    BOOTLOG.OLD     Hidden
    BOOTLOG.TXT     Hidden
    DETLOG.OLD      Hidden, System
    DETLOG.PRV      Hidden, System
    DETLOG.TXT      Hidden, System
    MSDOS.---       Hidden
    NETLOG.TXT      Archive
    OEMLOG.TXT      Hidden
    SCANDISK.LOG    Archive
    SETUPLOG.TXT    Hidden
    SUHDLOG.DAT     Read-only, Hidden
    SYSTEM.1ST      Read-only, Hidden, System
    W95UNDO.DAT     Read-only, System
    W95UNDO.INI     Read-only, System

    NONE of the files above are needed for Windows 95/98 proper operation! They were created when you first installed Win95/98 and further updated when you have made certain changes to your system configuration, or were created when your Win95/98 system loaded/shut down improperly.
    The only useful file (that I know of) on this list is SYSTEM.1ST, good to restore your original Registry, in case of a sudden disaster (system lockup, file corruption etc), when you're caught off guard, with no recent backups of your Win9x Registry files.
    See "RESTORE DAMAGED REGISTRY" in MYTIPS95.TXT [part of W95-11D.EXE], for more details.
    Just keep that floppy handy...
    The easiest way to move all these files is by running File Manager (FM = C:\Windows\WINFILE.EXE). But you can also do this in Windows Explorer.
    If you use File Manager: make sure you can view ALL files in File Manager (including Hidden, Read-only AND System files): left-click View, By File Type..., and then check the "Show Hidden/System Files" box.
    In File Manager highlight all the above C:\ root files by holding down Ctrl and then left-clicking on each one of them. Now drag all highlighted files to the A: drive icon, while holding down Alt (to move them instead of just copying). Release the left mouse button and then answer Yes to all those confirmation screens. [nag... nag... :)]

  3. Add/modify the SHELL line in your CONFIG.SYS file (located in C:\ root), to look similar to this one:

    SHELL=C:\COMMAND.COM C:\ /E:1536 /L:128 /U:128 /P

    Make sure you have a copy of COMMAND.COM in the root folder of your C:\ boot drive, to make the line above work properly. You can usually find COMMAND.COM in the C:\Windows and C:\Windows\Command folders.
    Now reboot, so the new Command environment can take "charge".

  4. Edit your MSDOS.SYS file (found in C:\ root) by using SYS95.BAT [part of W95-11D.EXE], and add/modify this [Options] section line to read:

    BootGUI=0

    Save your work and exit the text editor.
    This setting prevents the Windows GUI from loading, and you'll find yourself at the plain DOS prompt after a (re)boot.

  5. Now close all applications, click Start, click Shut Down, and answer Yes/OK to the "Shut down the computer" selection. You'll find yourself at the plain DOS prompt, to do whatever you want: type those cryptic DOS commands, or play your coolest 3D SuperVGA DOS game [:-)] that won't run under the Win95/98 GUI... sounds familiar?!... instead of having to power off your PC, or reboot again [what a pain... :(] into MS-DOS mode.
    When you're done "playing" at [or with :)] DOS, just type WIN and press Enter to reload the Windows GUI. No need for another reboot to get back to, or out of Windows from now on.

That's it. Enjoy the DOS ride!

FYI:

Back 2 Contents
3-3-98 Updated Original Win3.1x/9x/ME/DOS6 ©Trick in MYTIPS95.TXT, part of W95-11D.EXE, and in MYTIPS31.TXT, part of W31-11D.ZIP:


CD-ROM DRIVERS 4 DOS


This topic applies to ALL owners of (E)IDE/ATAPI (and even SATA) internal CD-ROM/CD-R(W)/DVD-ROM/DVD-R(W)/DVD-RAM drives using MS Windows 3.1x/95/98/ME [a.k.a. MS-DOS 7.xx/8.0] and/or MS-DOS 6.xx.
These are the best free "universal" CD/DVD drivers for native/real/true/pure MS-DOS mode:Example of CONFIG.SYS line using UIDE.SYS:

DEVICEHIGH=C:\CDROM\UIDE.SYS /D:MYCDROM

Your CD/DVD drive name (MYCDROM above) MUST match EXACTLY the one on your MSCDEX/SHSUCDX/NWCDEX driver line in CONFIG.SYS/AUTOEXEC.BAT!
See these topics for more details:

UIDE.SYS takes 2.3 KB of upper DOS RAM if loaded with DEVICEHIGH in CONFIG.SYS. An upper memory manager like UMBPCI.SYS, EMM386.EXE, QEMM386.SYS, RM386.EXE or 386MAX.SYS is required in CONFIG.SYS for this to work.
See MEMORY.TXT [part of both W95-11D.EXE + W31-11D.ZIP] for memory management guidelines.
Other 3 CD/DVD drivers listed above accept similar CONFIG.SYS lines.
Make sure to read respective documentation for the specific driver you intend to use to take advantage of specific command line switches, especially if using UATA/UDMA modes to access your CD/DVD drive(s) in native MS-DOS.

To my knowledge all these drivers work GREAT with ANY 100% compliant internal (E)IDE/ATAPI CD/DVD drive of ANY speed using the default 16-bit IDE or 32-bit (E)IDE motherboard connector. Most all Pentium, Pentium Pro and Pentium II/III/IV motherboards provide the dual (E)IDE PCI interface for internal (E)IDE/ATAPI drives, which support CD/DVD drives.

FYI:
If you have an IDE/ATAPI CD-ROM drive connected to a Sound Blaster (SB) card interface (the IDE interface on some Creative Labs SB cards, like the SB AWE32 PnP, or SB AWE64 PnP), you may NOT be able to use the DOS drivers mentioned above, because the SB IDE interface (controller) uses a different interrupt and hex base address.
Example: the standard secondary (E)IDE controller on the motherboard uses interrupt 15, and base address 170h (hex notation). Sound Blaster IDE interface uses by default interrupt (IRQ) 5 (same as the sound card chip), and base address (BA) 220h.
Also, if you have an SB card featuring the older Matsushita/Panasonic proprietary 8-bit CD-ROM interface (like the Sound Blaster 16 CD/16 ASP, NOT PnP), you canNOT use the CD-ROM drivers listed here. In this case you will have to use the driver(s) provided by Creative Labs (bundled with your sound card or CD-ROM drive), usually called SBCD.SYS (which takes 13 KB of memory).
The Panasonic/Matsushita CD-ROM connector uses (to my knowledge) interrupt 5 and base address 220h, and cannot be changed.
The standard (E)IDE motherboard controller interface in most Pentium (and newer) systems uses the following Interrupt ReQuest lines (IRQ) and hex Base Addresses (BA):

  • Primary Master & Slave: IRQ = 14; BA = 1F0h (port 1);
  • Secondary Master & Slave: IRQ = 15; BA = 170h (port 2).

Alternative IRQs and BAs used by non-standard/supplemental (E)IDE connectors (IDE controller cards):

  • Tertiary Master & Slave: IRQ = 12; BA = 1E8h (port 3);
  • Quaternary Master & Slave: IRQ = 10; BA = 168h (port 4).

NOTES:

UPDATES:

Back 2 Contents
2-18-98 Win9x Registry ©Trick in REGISTRY.TXT, part of W95-11D.EXE:


DELETE DESKTOP ICONS


Have you ever wanted to delete some of those annoying icons (you never use anyway) from your Desktop? If your answer is yes, read on...
There are two ways of doing this:

  1. The more complicated [but elegant :)] procedure is to install the System Policy Editor, and delete/disable the unwanted items.

  2. The easy way is to make a few Registry changes, which you should BACKUP FIRST!
    Run Regedit and go to:

    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer

    In the following example I'll use the "Network Neighborhood" icon:

    With the above key highlighted, right click anywhere in the Registry field, select New, and click DWORD, to create a new entry. Name it "NoNetHood" (don't type the quotes). When you set its value to 1 and then reboot, the Network Neighborhood desktop icon will be gone! To reinstate this icon on your desktop, change its value to 0.

    And the beauty of this trick is that you can apply it to ALL your Desktop system icons.

    To make changes to any other "hardwired" (read "unwanted") icon, go to:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\Desktop\NameSpace\{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}  

    Within this key, each system icon has its own CLSID (Class ID) key, a 16 byte value which identifies an individual object, that points to a corresponding key in the Registry:

    HKEY_CLASSES_ROOT\CLSID{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}

    To delete an icon, remove the 16 byte CLSID value within "NameSpace".
    To change an icon name, change the value of its "sister" CLSID key:

    HKEY_CLASSES_ROOT\CLSID{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}\DefaultIcon

    Therefore, the "Network Neighborhood" correspondent keys would be:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\Desktop\NameSpace\{208D2C60-3AEA-1069-A2D7-08002B30309D}  

    and respectively:

    HKEY_CLASSES_ROOT\CLSID\{208D2C60-3AEA-1069-A2D7-08002B30309D}

    Here are the "CLSID" keys for all Windows 95 system icons:

    Briefcase.{85BBD920-42A0-1069-A2E4-08002B30309D}
    Desktop.{00021400-0000-0000-C000-000000000046}
    Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}
    Dial-Up Networking.{992CFFA0-F557-101A-88EC-00DD010CCC48}
    Fonts.{BD84B380-8CA2-1069-AB1D-08000948F534}
    Inbox.{00020D76-0000-0000-C000-000000000046}
    My Computer.{20D04FE0-3AEA-1069-A2D8-08002B30309D}
    Network Neighborhood.{208D2C60-3AEA-1069-A2D7-08002B30309D}
    Printers.{2227A280-3AEA-1069-A2DE-08002B30309D}
    Recycle Bin.{645FF040-5081-101B-9F08-00AA002F954E}
    Shortcut.{00021401-0000-0000-C000-000000000046}
    The Internet.{FBF23B42-E3F0-101B-8488-00AA003E56F8}
    The Microsoft Network.{00028B00-0000-0000-C000-000000000046}
    Url History Folder.{FF393560-C2A7-11CF-BFF4-444553540000}

    You can use the method above for any system icon you want to modify/delete.
    Go to the CLSID key you want to modify and change its "DefaultIcon" subkey.
    Recycle Bin makes an exception, its "Default" value lists the full pathname of the file that contains the corresponding icon. Recycle Bin has three entries under "DefaultIcon": Default, Empty and Full, each represented by a different icon for the: default, empty and full Recycle Bin respectively.
    I know my "nightmare" is to see that pesky "Recycle Bin" icon on my desktop every day. Just go to its "NameSpace" key:

    HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\Desktop\NameSpace\{645FF040-5081-101B-9F08-00AA002F954E}

    and delete it. From now on when you start Win95, bye-bye Recycle Bin!
    You can also rename the Recycle Bin's "NameSpace" key, by scrolling to the corresponding CLSID key:

    HKEY_CLASSES_ROOT\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\DefaultIcon

    and modifying its "default" value.

    You can always create new versions of the icons listed above, which will have the Move, Copy and Delete properties enabled.
    The Control Panel icon for example, is represented by this CLSID key:

    HKEY_CLASSES_ROOT\CLSID\{21EC2020-3AEA-1069-A2DD-08002B30309D}

    To create a new icon called, let's say "Control Center", delete the key below:

    HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\Desktop\NameSpace\{21EC2020-3AEA-1069-A2DD-08002B30309D}

    and then create a new folder called:

    Control Center.{21EC2020-3AEA-1069-A2DD-08002B30309D}

    A folder with this extension file retains the properties of the original Control Panel, but it can also be deleted or moved.
    To change the "My Computer" icon, go to:

    HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\DefaultIcon

    and change its icon file name in the "default" entry.

TIP: You can use Microsoft TweakUI [110 KB, free, unsupported] to eliminate the Win9x system icons of your choice from your desktop (and much more).
... But that takes the fun out of messing with the Registry :-)

Back 2 Contents
2-18-98 Original Win9x/ME ©Trick in MYTIPS95.TXT, part of W95-11D.EXE:


MORE FONT SPEED


I have noticed an increase in Win95/98/ME loading time lately, and what is more annoying, the pop-up menus/dialog boxes/shortcuts take a long time to show up!
I have narrowed down my sluggish system response to the (too) many fonts I have installed over the past years (over 250!). So I trimmed them down, backed up and moved away about 100, but the pop-up menus were still showing a slow response.
Now this was war! But I managed to detect the "culprit": the default system font for most of the Desktop appearances is "Arial". Arial is a True Type Font (.TTF file extension), which means it takes some time to render on the menus/pop-up boxes, especially with the Microsoft Font Smoother utility installed [174 KB, free].

NOTE: Do NOT install MS Font Smoother if you have MS Plus! for 95, OSR2, Win98 or WinME!

So I changed the system desktop font to a screen (raster/plotter) font, which doesn't take for ever to render, having no edges to "smooth".
I chose the plain "System" font.
To do this, right-click on an empty spot on your Desktop, select Properties, click on the Appearance tab, and click once on the "Normal" desktop setting.
In the "Font:" list, scroll down to the "System" font. Select it and then click Apply to make the change "stick" instantly, or click OK to make it permanent.
Repeat the above steps with the "Selected", "Active Window", "Inactive Window", and "Message box" Appearance settings. Choose the "System" font for ALL of them. Not only it is available strictly in Bold, so it stands out much better on the screen than "Arial" (which by default is in Regular), but it also takes less time to draw a window/menu/pop-up tab.
Depending on your installed fonts, you may have other neat screen fonts (all the ones with the .FON extension) to "play" with, like: "Courier", "Modern", "Roman", "Fixedsys", "MS Serif", "MS Sans Serif,Sans-Serif" etc.
To view each individual font, open the "Fonts" icon in Control Panel, and double-click on the one(s) you wish (all screen/plotter fonts have a red "A" icon assigned).

Back 2 Contents
2-14-98 Win9x/ME/DOS6 ©Trick in TIPS95.TXT, part of W95-11D.EXE, and in MYTIPS31.TXT, part of W31-11D.ZIP:


POWERFUL XCOPY(32)


When you run this command at a DOS prompt box/session from inside Win9x/ME:

XCOPY /?

you get this help screen:

"Copies files and directory trees.
XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/W]
			[/C] [/I] [/Q] [/F] [/L] [/H] [/R] [/T] [/U]
			[/K] [/N]
source		Specifies the file(s) to copy.
destination	Specifies the location and/or name of new files.
/A		Copies files with the archive attribute set,
		doesn't change the attribute.
/M		Copies files with the archive attribute set,
		turns off the archive attribute.
/D:date		Copies files changed on or after the specified date.
		If no date is given, copies only those files whose
		source time is newer than the destination time.
/P		Prompts you before creating each destination file.
/S		Copies directories and subdirectories except empty ones.
/E		Copies directories and subdirectories, including empty ones.
		Same as /S /E. May be used to modify /T.
/W		Prompts you to press a key before copying.
/C		Continues copying even if errors occur.
/I		If destination does not exist and copying more than one file,
		assumes that destination must be a directory.
/Q		Does not display file names while copying.
/F		Displays full source and destination file names while copying.
/L		Displays files that would be copied.
/H		Copies hidden and system files also.
/R		Overwrites read-only files.
/T		Creates directory structure, but does not copy files. Does not
		include empty directories or subdirectories. /T /E includes
		empty directories and subdirectories.
/U		Updates the files that already exist in destination.
/K		Copies attributes. Normal Xcopy will reset read-only attributes.
/Y		Overwrites existing files without prompting.
/-Y		Prompts you before overwriting existing files.
/N		Copy using the generated short names."
Xcopy.exe and Xcopy32.exe are located by default in your C:\Windows\Command folder (Win9x/ME).
XCOPY.EXE resides by default in your C:\DOS directory (MS-DOS 6.xx).
Xcopy (and its counterpart Xcopy32) are the most powerful "COPY/MAKE DIR" commands Microsoft came up with, beginning with the MS-DOS 6.00 release.
Use XCOPY32 with a well thought combo of parameters to copy files with ANY attributes (and preserve them) to ANY destination. Very useful indeed since XCOPY32 preserves the long file names (LFNs) in the DOS environment, but ONLY when used in a DOS box/session/window, inside Win9x/ME!

If using MS-DOS 6.xx, XCOPY is limited to these command line parameters, and does NOT provide LFNs support:

"Copies files (except hidden and system files) and directory trees.
XCOPY source [destination] [/A | /M] [/D:date] [/P] [/S] [/E] [/V] [/W]
source		Specifies the file(s) to copy.
destination	Specifies the location and/or name of new files.
/A		Copies files with the archive attribute set,
		doesn't change the attribute.
/M		Copies files with the archive attribute set,
		turns off the archive attribute.
/D:date		Copies files changed on or after the specified date.
/P		Prompts you before creating each destination file.
/S		Copies directories and subdirectories except empty ones.
/E		Copies any subdirectories, even if empty.
/V		Verifies each new file.
/W		Prompts you to press a key before copying.
/Y		Suppresses prompting to confirm you want to overwrite an
		existing destination file.
/-Y		Causes prompting to confirm you want to overwrite an
		existing destination file.
The switch /Y may be preset in the COPYCMD environment variable.
This may be overridden with /-Y on the command line"
This is the COPYCMD command variable line, you can add to your AUTOEXEC.BAT file, to disable the confirmation prompts when using: XCOPY, XCOPY32, COPY and MOVE (use it with CAUTION!):

SET COPYCMD=/Y

Example of Xcopy/Xcopy32 command used to preserve the LFNs at a Win9x/ME DOS prompt, that copies ALL subfolders and files from your Windows folder to another drive/directory:

XCOPY C:\WINDOWS D:\WINBAK /C /E /H /K

WARNINGS:

  1. If you use the "XCOPY /Y" parameter (or the "COPYCMD" command variable), XCOPY will OVERWRITE ALL existing files WITHOUT prompting you first!
  2. By using XCOPY/XCOPY32 in native/real/true/pure MS-DOS mode outside Win9x GUI, you will not be able to use ALL the parameters listed above, and most importantly the Long File Names (LFNs) will NOT be preserved, they WILL BE IRREVERSIBLY LOST!

ADD-ON: There is a better XCOPY(32) alternative: XXCOPY for Win9x/NT/2000/ME/DOS (freeware), which adds more command line switches [besides supporting ALL Microsoft XCOPY(32) parameters], and complete LFNs support in a DOS box (Win9x/NT/2000/ME only).

Back 2 Contents
2-14-98 Updated Original Win3.1x/9x ©Trick in MYTIPS95.TXT, part of W95-11D.EXE, and in MYTIPS31.TXT, part of W31-11D.ZIP:


%WINDIR% VARIABLE
[UPDATED 2-14-1998]


%windir% is a variable used by ALL MS-DOS 6.xx, 7.xx and 8.00 commands, both internal and external.
Internal MS-DOS commands (built into the OS, NOT real files): COPY, DEL, MD, RD, CD etc.
External MS-DOS commands [actual files on your disk, located by default in C:\WINDOWS\COMMAND (Win9x/ME) or in C:\DOS (MS-DOS 6.xx)]: XCOPY.EXE, MOVE.EXE, ATTRIB.EXE, DELTREE.EXE etc.
More info @ MSKB.

BEWARE: The %windir% variable is available ONLY with the Windows GUI started, therefore can be used ONLY in a Windows DOS session/box prompt and in batch files executed ONLY from within Windows, it canNOT be used in native/real/true/pure MS-DOS mode outside Windows!
So if you are running such commands from the native MS-DOS prompt, use the real name of your Windows folder (directory), or if using Win9x/ME, you can add the %winbootdir% variable followed by a backslash (\) in front of your file names, to point to a valid path.
Example:

XCOPY <parameters> %winbootdir%\*.INI C:\WINBAK

The %windir% variable shows off its usefulness when you have Windows installed in a folder other than the default C:\WINDOWS, and/or would like to use the same batch file(s) on multiple Windows PCs (eventually connected to a network), without having to customize it/them individually for each machine.
The Windows 9x/ME directory (set <windir>) is an internal MS-DOS variable, specified in MSDOS.SYS (a system file located in C:\ root), which is processed by the Win9x/ME boot routine.
IO.SYS (which is processed first at bootup) looks into MSDOS.SYS [Paths] section to determine the location of your Windows 9x/ME directory, and loads it in the MS-DOS environment memory.
This MSDOS.SYS example uses default values:

[Paths]
WinDir=C:\Windows

If you run the SET command at a DOS prompt (using "| MORE" to display one screen at a time):

SET | MORE

you'll see all MS-DOS variables, including "windir".
Notice that the internal ones ("windir" and "winbootdir") appear in small characters, and the external SET variable (specified in CONFIG.SYS and/or AUTOEXEC.BAT by the SET <variable> command lines) appear in capitals.

Example of a common SET variables list at a Win9x/ME DOS box prompt:

windir=C:\WINDOWS
winbootdir=C:\WINDOWS

COMSPEC=C:\WINDOWS\COMMAND.COM
TEMP=C:\WINDOWS\TEMP
TMP=C:\WINDOWS\TEMP
PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;C:\;etc...
WINPMT=$P$G
PROMPT=Type EXIT & hit Enter 2 return 2 Windows!$_$P$G
SOUND=C:\SB16
MIDI=SYNTH:1 MAP:E MODE:0
BLASTER=A220 I5 D1 H5 P330 T6
MOUSE=C:\MOUSE
COPYCMD=/Y
DIRCMD=/A/O:GEN/P/V
etc...

Now notice the difference when you run the same "SET | MORE" command from native MS-DOS 7.xx/8.00:

winbootdir=C:\WINDOWS
COMSPEC=C:\WINDOWS\COMMAND.COM
TEMP=C:\WINDOWS\TEMP
TMP=C:\WINDOWS\TEMP
PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;C:\;etc...
PROMPT=$P$G
WINPMT=Type EXIT & hit Enter 2 return 2 Windows!$_$P$G
SOUND=C:\SB16
MIDI=SYNTH:1 MAP:E MODE:0
BLASTER=A220 I5 D1 H5 P330 T6
MOUSE=C:\MOUSE
COPYCMD=/Y
DIRCMD=/A/O:GEN/P
etc...

Example of a common SET variables list at a Win31 DOS box prompt:

windir=C:\WINDOWS
COMSPEC=C:\DOS\COMMAND.COM
TEMP=C:\DOS
TMP=C:\DOS
PATH=C:\;C:\DOS;C:\WINDOWS;C:\STUFF;... etc
WINPMT=$P$G
PROMPT=Type EXIT & hit Enter 2 return 2 Windows!$_$P$G
SOUND=C:\SB16
MIDI=SYNTH:1 MAP:E MODE:0
BLASTER=A220 I5 D1 H5 P330 T6
MOUSE=C:\MOUSE
COPYCMD=/Y
DIRCMD=/A/O:GEN/P
etc...

Now notice the difference when you run the same "SET | MORE" command from native MS-DOS 6.xx:

COMSPEC=C:\DOS\COMMAND.COM
TEMP=C:\DOS
TMP=C:\DOS
PATH=C:\;C:\DOS;C:\WINDOWS;C:\STUFF;... etc
PROMPT=$P$G
WINPMT=Type EXIT & hit Enter 2 return 2 Windows!$_$P$G
SOUND=C:\SB16
MIDI=SYNTH:1 MAP:E MODE:0
BLASTER=A220 I5 D1 H5 P330 T6
MOUSE=C:\MOUSE
COPYCMD=/Y
DIRCMD=/A/O:GEN/P
etc...

Back 2 Contents
2-9-98 Updated Win3.1x/9x/ME Original Registry ©Trick in REGISTRY.TXT, part of W95-11D.EXE, and in MYTIPS31.TXT, part of W31-11D.ZIP:


HARD DRIVE THRASHING
[UPDATED 2-9-1998]


To reduce your hard drive thrashing (annoying, non-stop spinning) and decrease potential delays you might experience when you right-click to bring up a context menu or left-click to pop-up a dialog box (especially in Windows Explorer) and to avoid a permanent refresh of your Desktop icons, apply these steps:

SOLUTION 1:

This works with all Windows 95/98/NT4/2000/ME/XP/2003 releases.

Open Regedit and go to:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer

Look in the right hand pane for the "Max Cached Icons" entry.
Create it if not present: right-click in Regedit's right hand pane select New click String Value name it "Max Cached Icons" (the spaces are required, but don't type the quotes).
The default value is 500, which means the maximum number of icons that are cached by the OS.
The information about all Win9x/ME (WinNT4/2000/XP/2003 keep this data inside the IconCache.db file) cached icons is held in the ShellIconCache file, located in your main Windows folder. Every time you create a new Desktop/Start Menu folder/shortcut, this file is updated, until it reaches the (default) upper limit of 500 icons.
But you can increase this number to allow Windows to cache more icons (up to 4096), and to force it to stop accessing your disk(s) frequently, only to search for those "uncached" icons.
According to this MSKB article and to this MS Tips for XP page (German), the maximum size allowed for "Max Cached Icons" is 4096. Minimum value is 100.
You need to restart your machine after this change, sometimes 2 or more times, until the new setting "catches on", and Win9x/ME GUI recreates a new ShellIconCache file. :(
To force Win9x/ME to rebuild its icon cache file, delete the current one, then shut down Windows by hitting Alt + F4 simultaneously, and finally reboot/reload/restart the GUI.
Try also to delete a possibly corrupt ShellIconCache file after modifying the Registry value above, especially if you have deleted/moved/renamed some of your old shortcuts, changed their icons or added new ones, because Windows still keeps the info about deleted icons. :( Don't worry, this file should be recreated the next time you (re)load Windows, but sometimes it may take more than one (re)start. :)

SOLUTION 2:

All Win9x/ME + Windows/WfWG 3.1x users:
It is also recommended to edit your SYSTEM.INI file's [vcache] section to read (SYSTEM.INI is located in your Windows directory):

[vcache]
MinFileCache=2048
MaxFileCache=4096
ChunkSize=512
AllocPageFixed=OFF

MEANING:

File caching is handled by the dedicated VCACHE.386 driver in Windows for WorkGroups (WfWG) 3.1x (located in %windir%\SYSTEM), and by VCACHE.VXD in Windows 95/98/ME, included as part of the complex VMM32.VXD driver (found also in %windir%\SYSTEM).

These are the mandatory entries for file cache to work properly:

The lines above are useful on systems with at least 16 MB of RAM installed.
On systems with 8 MB or less, try these conservative SYSTEM.INI [vcache] settings:

[vcache]
MinFileCache=1024
MaxFileCache=2048
ChunkSize=512

On machines with 32 MB or more, you may want to adjust the "MinFileCache" to 1/8 of your installed RAM, and "MaxFileCache" to 1/4. Some trial and error might be necessary, depending on your particular system configuration.
Create the SYSTEM.INI [vcache] section if not present.
Save your work, and then restart Windows for these changes to take effect.
And don't forget to BACKUP your SYSTEM.INI FIRST!
Here are some recommended "MinFileCache" and "MaxFileCache" values depending on your installed memory (note that the minimum and maximum cache values are NOT the same, which helps if you routinely perform tasks dealing with large files):

Memory (RAM)    MinFileCache    MaxFileCache
--------------------------------------------
  8 MB           1024            2048
 16 MB           2048            4096
 32 MB           4096            8192
 64 MB           8192           16384
128 MB          16384           32768
256 MB          32768           56320
512 MB          51200           56320

On systems with 128 MB RAM or more, you may want to delete these settings from your SYSTEM.INI altogether (if present), and let Windows handle its own file cache sizes for optimal performance.
I have experimented with these values on 32, 64 and 128 MB systems. You may find that other values work better on your computer, depending on what kind of apps/games you're using: business, CAD/graphics rendering, animation/video editing, development, publishing, 3D gaming, Internet, CD/DVD burning etc.

FYI:

Also consider running a benchmark utility (free) like Windows Magazine's:to determine your hard disk(s)' raw I/O performance.

Back 2 Contents
2-4-98 Original Win3.1x/9x/DOS ©Trick in MYTIPS95.TXT, part of W95-11D.EXE, and in MYTIPS31.TXT, part of W31-11D.ZIP:


SHELL ENVIRONMENT SIZE


This posting answers my good friend's question below, and appears here to benefit ALL WinDOwS users.

NOTE: This topic applies also to MS-DOS 6.xx and Windows/WfWG 3.1x systems, with these exceptions: the /L:xxxx and /U:xxx COMMAND.COM parameters and the "winbootdir" environment string, which apply ONLY to Win95/98/ME [a.k.a. MS-DOS 7.xx/8.00] OSes!

Q [The Captain]:

"What are your recommendations for a Win95 OSR 2.5 system with 32 MB RAM for a CONFIG.SYS "shell=" line parameters? What about a 16 MB system?
I am currently using "SHELL=C:\WINDOWS\COMMAND.COM /P /E:1024".
I have no real mode drivers loading, it's all 32-bit."

A [MDGx]:

"The SHELL COMMAND.COM environment parameter length, set by the /E:xxxx switch (used in CONFIG.SYS), doesn't depend on your installed memory (RAM), but on how MANY and how LONG are your SET statements in your CONFIG.SYS and/or AUTOEXEC.BAT files, including the PATH and the PROMPT lines.
A safe bet is to set your CONFIG.SYS SHELL line to read:

SHELL=C:\COMMAND.COM C:\ /E:1024 /L:128 /U:128 /P

Change the path above if your COMMAND.COM copy is located somewhere else.
You may want to increase the environment size, let's say to /E:1536 if your PATH line is pretty long, and/or if you have a bunch of SET lines in your startup files, like I do.
For details on the /L and /U switches (and for all Win95/98 COMMAND.COM available parameters), run:

COMMAND /?

at any DOS prompt.
If you don't have a SHELL line in your CONFIG.SYS, Win95/98 automatically starts the GUI at the end of processing the startup files (IO.SYS, MSDOS.SYS, CONFIG.SYS and AUTOEXEC.BAT), even if you have the "BootGUI=0" line present in your MSDOS.SYS file, the [Options] section. At least that's what happens on my machine, and I noticed this to be valid with both Win95 OSR1 and Win95B OSR2 releases.
There is a good DOS diagnostics tool called SysChk (no nag shareware), which reports the total, used and free environment memory amounts in bytes (among many other details about your system), when you select option #7 from SysChk's main screen menu. If your free environment size is below 100-200 bytes, you might need to increase it, to have at least 400-500 bytes free, because Windows 3.1x/95/98 and their DOS sessions also add to the length of the environment size (like the "windir" line, present only with Windows/WfWG 3.1x/95/98 started). Also, Win9x adds the "winbootdir" string to the environment upon bootup, reading the MSDOS.SYS file, the [Paths] section, which contains the "WinBootDir=C:\WINDOWS" line.
To see all the SET lines/strings displayed on your screen, just run:

SET | MORE

from any DOS prompt. Adding "| MORE" to the SET command, allows viewing all SET lines one screen at a time, and you can press a key to move to the next screen, that is if all your SET lines don't fit into the default DOS screen of 25 lines.
Run SysChk from a Windows DOS prompt box, and press 7, which displays all environment variables/strings and sizes (a lot more useful details compared to using the plain "SET | MORE" command).
Also, when you start a DOS session in Windows 95/98, the Command environment size defaults to /E:2048 /L:1024 /U:255 (optimal sizes set by the OS in order to accomodate all your SET/environment strings/lines). This loads a huge COMMAND module into memory, usually too large for your needs. But you can restrict/customize the environment size in a Windows DOS session by starting it from a custom PIF file (MS-DOS application shortcut).
All you have to do is type something like:

COMMAND.COM /E:1024 /L:128 /U:128

in your PIF file's "Cmd line" dialog box, by modifying the "MS-DOS Prompt" item already present in your Start Menu (Win95/98) or in the Main Program Group (Win/WfWG 3.1x), or by creating a new one.
In Windows/WfWG 3.1x you need to start PIFEDIT.EXE located in your Windows directory to modify/create a PIF executable (Program Information File)."

UPDATE:
"To determine exactly the proper size for your environment, open a DOS box, type this line and hit Enter:

SET > HOWMUCH.TXT

This plain text file is exactly the same size as your environment. You can open HOWMUCH.TXT (the name is of no importance) using Notepad in Windows or EDIT in DOS to see what strings your environment currently contains.
Note that the environment size is different in a Windows DOS box from the native MS-DOS prompt, because Windows adds the "windir=C:\WINDOWS" (default) variable to the SET list."
[Thank you Early Bird!]

Back 2 Contents
2-4-98 Original Win9x ©Trick in MYTIPS95.TXT, part of W95-11D.EXE:


CLOSE'EM ALL


If you have more than one open window on your Desktop (and when was the last time you hadn't), there is a way to close them all with only one swift move, as long as they were all generated by the same application/program. Just hold down the Shift key and left-click the Close window button (the x button) in the upper right corner of your last open window. Done.

Back 2 Contents
©1996-2014 MDGx (a.k.a. AXCEL216): Everything here is FREEware. Always ad(vertisment)s, cookies, tracking, malware + spyware free. I have created [August 1996], maintain and update these web pages entirely by hand using Programmer's File Editor [replaced Notepad].
I do not promote, speak in the behalf of, advertise or work for any computing, news or internet profit business. All ©copyrights and ®registered trademarks retain owners' property.

Back!