Here's the basic FAQ; note construction is still being done. Comments welcome.

==========================================================
==========================================================
==========================================================
Tuesday, October 09, 2001
9:11 AM

WINDOWS 2000 CMD PROMPT FAQ
THIS WORK IS PROVIDED ON AN "AS IS" BASIS. THE AUTHOR PROVIDES NO WARRANTY WHATSOEVER, EITHER EXPRESS OR IMPLIED, REGARDING THE WORK, INCLUDING WARRANTIES WITH RESPECT TO ITS MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE.

============================================================================
SECTION 1: Introduction and Table of Contents ============================================================================
This is a "pre-release" version of the FAQ on issues related to use of the Windows 2000 CMD.EXE; it specifically targets issues for the microsoft.public.win2000.cmdprompt.admin newsgroup.

Structure does not yet fully conform to Internet standards for FAQs (particularly header structure)

============================================================================
SUBSECTION 1-1: Table of Contents ============================================================================

SECTION 1: Introduction and Table of Contents

1-1: Table of Contents

SECTION 2: Etiquette and the Newsgroup Posters

SECTION 3: Other Resources Q3-1: How do I "search" this newsgroup for previous answers?

Q3-2: What sites are there for answers?

Q3-3: What about books?

Q3-4: What about tools to do things I can't do with the built-in ones?

Q3-5: Are there other command processors I can use?

Q3-6: What are my scripting choices other than batch files?

SECTION 4: Frequently Made Mistakes Q4-1: Why does everyone say "CMD" instead of "COMMAND"?

Q4-2: How do I boot NT/2000/XP in DOS mode?

Q4-3: Why won't my logon scripts work for 9x/Me clients?

Q4-4: Why doesn't the START command work right?

Q4-5: My "FOR" loop works fine from a command line but not in a batch file!

SECTION 5: Common Issues and Answers

SECTION 6: Condensed Digest of Posts

SECTION 7: Definitions, Trivia, and Special Topics
7-1: Definitions
7-2: Command line "Help" switches
7-3: Important but not-so-frequently-asked questions
7-3-1: Can I capture console I/O?

7-3-2: How can I get more fonts to show up for the console window?

7-4: Vaguely useful and semi-topical NT trivia 7-4-1: What are the _real_ NTFS version numbers?

SECTION 8: Example Batch Files and Commentary
8-0: Clues on Batch Files for New Users
8-1: MVOL.CMD - a user-friendly wrapper for MOUNTVOL
8-2: FindForestRoot.CMD
8-3: Miscellaneous Internet Explorer Scripts

SECTION 9: ACKNOWLEDGEMENTS



============================================================================
SECTION 2: Etiquette and the Newsgroup Posters ============================================================================

Please conform to "good" Usenet etiquette in your posts. If you read and understood "Everything I Need to Know, I Learned in Kindergarten", you should be fine. You may also consult the following locations:

http://www.jsiinc.com/newsgroup_document.htm http://support.microsoft.com/support/news/rules.asp http://groups.google.com/googlegroups/posting_style.html

Please also note that the "regulars" here are not in any way compensated for the time and effort they put into answering questions. Be nice to them. :)

Finally, please post a followup on any problems you resolve. Not only is it an opportunity to pat a poster on the back (thus encouraging him or her to keep helping), but it also helps people get a feel for things which work well.

============================================================================
SECTION 3: Finding Information Elsewhere ============================================================================

This FAQ makes no pretense of being comprehensive; in fact, many of the answers to questions you may have will have been answered in other, easily accessible spots. Answers _within_ the FAQ are targeted towards common issues to allow you to quickly do a reality check on your situation.

============================================================================

Q3-1: How do I "search" this newsgroup for previous answers?
Try going to Google's advanced groups search. As of September 09, 2001, the direct URL was:

http://groups.google.com/advanced_group_search

Google allows you to:

+see posts going back several years

+look in one group or a whole tree of them ("microsoft.public.*, microsoft.public.win2000.*, etc.)

+ specify words or phrases in the subject or body, and specify "kill" words for posts to ignore.

(Method from Joe Richards)

============================================================================

Q3-2: What sites are there for answers?

There are actually quite a few out there. Two that deserve special notice:

JSI http://www.jsiinc.com

Jerold Schulman's site has been around for a very long time; it is mentioned before the Microsoft Knowledgebase for several excellent reasons. It is an excellent resource for advanced users/administrators; information can be found quickly; it gives direct, honest answers to questions; and it contains a wealth of information on the command prompt as well as example batch files.

In fact, it is common to see people post answers just as "see XXXX at JSI".
Microsoft Knowledgebase http://support.microsoft.com

The "original:, particularly if you need an official Microsoft source for something. Note that you may find it easier to do an advanced MSKB search from a site such as Google, focusing on support.microsoft.com; this gives you access to better control of search logic.

A few other interesting ones: swynk junkdrawer

============================================================================

Q3-3: What about books?

NT Shell Scripting
Windows 2000 Scripting Host
NT Pocket Reference

==============================================================================
==============================================================================

Q3-4: What about tools to do things I can't do with the built-in ones?

There are a variety of sites out there with an array of specialty tools. Here is a brief set of some interesting ones:

www.sysinternals.com
www.joeware.net
www.optimumx.net
www.cmdtools.com
Blat
Unixoid tools
Cygwin Swynk ==============================================================================

Q3-5: Are there other command processors I can use?

Yes, most notably:

4NT www.jpsoft.com

Cygwin www.redhat.com

VCL www.bosbc.com (this is a VMS DCL clone)

"Jonathan de Boyne Pollard" wrote in message news:3BAE841B.2B0CC21A@tesco.net.

> At one point, the ReactOS project had a CMD, which appeared to be the FreeDOS > COMMAND converted to use Win32. I don't know what has happened to it.

[Editor: I downloaded an April 2000 version; newer ones are out. It appears to be a strongly Unix-ish CMD; I did not try out any advanced batch files, etc through it, so any feedback would be appreciated.]
==============================================================================

Q3-6: What are my scripting choices other than standard CMD batch files?

4NT
Cygwin
Script
Kixtart
Macro Recorder
Perl
Perlscript (Active State)
Python
REXX/Regina
Script
Scriptit
Tcl/Tk
VBScript
XLNT® (Advanced System Concepts)

ActiveState also has perlscript which is a WSH/ASP capable scripting language based on perl. (Joe Richards)

XLNT® There is a scripting tool called XLNT by Advanced System Concepts (I think) at www.advsyscon.com. Their product is a DCL clone that looks and feels very much like Digital's command language for VAXes. Very capable, very powerful, flexible and it has an associated batch queuing add-on that improves on Digitals batch queing. Check it out.

David_LA

============================================================================
SECTION 4: Frequently Made Mistakes ============================================================================

This section is devoted to a few regularly recurring misunderstandings which can cause big problems.

============================================================================

Q4-1: Why does everyone say "CMD" instead of "COMMAND"?

There are 2 console environments on NT/2000/XP. CMD.EXE is a full 32-bit one with special command environment extensions. COMMAND.COM is a 16-bit environment which is available for running old DOS programs. CMD.EXE has much better functionality; in general, ALWAYS run CMD.EXE; it is better-behaved; NT will call command.com if it needs it; and it's also easier to type. :)
============================================================================

Q4-2: How do I boot NT/2000/XP in DOS mode?

Don't even ask. As opposed to Windows 3 and to a certain extent Win9x, the operating system for NT is not built on "top" of MS-DOS. Instead, CMD.EXE is laucnhed on top of NT for a console session. Therefore if you can't boot NT (or need it not running so you can do something such as a BIOS flash), you cannot do it directly.

4-2-1: Booting a normally NTish system with a DOS-like OS

There are two possible ways to do this:

(1) a Win9x boot disk download one from the Internet (http://www.bootdisk.com). Of course you can use a Win9x, MS-DOS, PC-DOS, or DR-DOS boot disk which you have lying around also.

(2) If you are running Windows XP, you can make a DOS boot floppy by formatting a disk n the explorer interface. Right-click the drive icon, go to Format, then check the "Create an MS-DOS startup disk" box.

This is only a solution for doing things such as flashing the system BIOS, etc. which do not require access to the fixed disk file systems. Note that you _can_ read files using an add-on such as System Internals' NTFS-DOS drivers - they have a free downloadable version which is read only and thus has issues with commands such as "XCOPY".

4-2-2: Booting the fixed NTish OS from a floppy

Note that is IS possible to boot NT/2000/XP _through_ a floppy - the OS on the fixed disk is the one that is loaded. This is most useful for booting systems with a problem in one of the basic boot files or with a disk which does not have an active partition.

To do this follow the following procedure.

(1) Format the floppy on a system with the same or an "uplevel" NT version as the system you wish to boot.

(2) Copy these files to the floppy from the root of your Microsoft system drive (what everyone else calls a "boot drive" - typically "C": boot.ini, ntldr, ntdetect.com, ntbootdd.sys (?).

(3) If the boot.ini file is not from the system you wish to use it on, you will need to edit the ARC paths in it.

Remember, these files are typically some combination of hidden and read-only, so you may need to adjust attributes temporarily to copy and modify them.

============================================================================

Q4-3: Why won't my logon scripts work for 9x/Me clients?

There are several variables which are very popular in NT logon scripts - "LOGONSERVER%, %USERNAME%, etc. You cannot use these for Win9x network clients. Since the Win9x system does not define these, they are interpreted as empty strings.

==============================================================================

Q4-4: Why doesn't the START command work right?

It does. There are a few nuances with it that can produce problems when mixed with issues such as long file names.

A very common problem is caused by the fact the start ALWAYS interprets whatever it sees in the first pair of quotes as a window title. The dead giveaway to this behavior is if you issue a command start "myprog.exe" you will see a new console window with the title "myprog.exe" pop up.

One workaround is to issue an "extra" pair of quotes; thus start "" "myprog.exe"

==============================================================================

Q4-5: My "FOR" loop works fine from a command line but not in a batch file!

You are most likely the victim of either the "double-substitution" or the "case-sensitive comparison" problem. The following command:

for /f "delims=~" %i in (names.tmp) do set NAME=%I (BAD!!!)

illustrates both mistakes. Within a batch file "for" loop, use "%%". Also use the SAME CASE for index variable names - e.g., stick to "i" or "I" throughout in this example.

Below are a examples which work in a batch file (courtesy Phil Robyn):

for /f "delims=~" %%i in (names.tmp) do set NAME=%%i

or

for /f "delims=~" %%I in (names.tmp) do set NAME=%%I
============================================================================
SECTION 5: Common Issues and Answers ============================================================================

UNDER CONSTRUCTION

============================================================================
SECTION 6: Condensed Digest of Posts ============================================================================

UNDER CONSTRUCTION

============================================================================
SECTION 7: Definitions, Trivia, and Special Topics ============================================================================

This section covers topics I thought were worth attention ofor some reason or another, didn't fit in, elsewhere, etc...

==============================================================================

7-1: Definitions
Wrapper: This is a short script or batch file which acts like a carrying case or wrapper to package up an application of some kind. For example, MVOL.CMD is a very long batch file designed to make the MOUNTVOL command easy to use. Some wrappers are very short; for example, PPP.CMD is written to make a frequently used rasdial connection quick to execute.

==============================================================================

7-2: Command line "Help" switches

Unlike certain other operating systems with a long history of console line interfaces, the Windows NT (and 9x, and MS-DOS for that matter...) OS does not have a "standard" for console-based help. Certainly you can look up refs in the GUI help, but some things just aren't documented. Assuming a particular command has _some_ usage information, this may help you track it down.

There are 4 basic "groups" of "help" commands/methods; for convenience, i am breaking them down into what I call "prefix","infix","bare", and "suffix" help switches - with suffix being the common and very messy one.

7-2-0: Redirecting Help

Please note that the "channel" for help varies. Some of the help output indicated below comes back on STDERR, so you would have to use "2>" to redirect instead of just ">".

Also, for GUI programs, help switch information often comes back as a pop-up box. Examples:

regsvr32 /?

setup // (from Microsoft Office 97)

7-2-1: Prefixed Help Switches

This is the "core" help, built in to NT. Type:

help

at a command prompt, and you will have summary info on all of the basic commands echoed back. If you type

help <command-name>

you will get detailed help on the particular command.

7-2-2: Infixed Help Switches

AFAIK, the only "common" command family with this is the set of "net" commands. Examples are:

net help use net help accounts etc.

7-2-3: Switchless Help Switches Some commands apparently hook up the help to standard error _or_ simply generate help output on STDOUT when you type the command name by itself. Examples:

net nbtstat
7-2-4: Suffixed Help Switches (the big, messy group)

Even for "classic" suffix help switches, there are many variations. The commonest standard these days seems to be using "-h" or "-?" with the "--help" (which is a feature of Linux, not Unix? - someone tell me) being a rising choice. Even Microsoft seems to be moving towards use of "-" as at least a standard suffix switch stem.

For GUI programs, particularly setup routines, "//" seems to be the most common help suffix.

Below is a list of the switches I have seen, grouped by stem: "-","--","/"

-h,-help,-?,-info --help,--info /h,/help,/?,//
==============================================================================

7-3: Important but not-so-frequently-asked questions


7-3-1: Can I capture console I/O?

No, due to some of the bizarre history of command interpreters and Windows. If you want the long explanation, see

http://homepages.tesco.net/~J.deBoynePollard/FGA/capture-console-win32.html

Note that there if you wish to pass I/O between consoles, there are some ways to do it using pipes and mailslots - even between different computers. See

==============================================================================
7-3-2: How can I get more fonts to show up for the console window?

A standard NT/2000/XP install has only the following fonts show up:

Lucida Console in point sizes 5, 6, 7, 8, 10, 12, 14, 16, 20, 24, 28, 36, 72 Raster fonts in the following "cell sizes":4x6, 6x8, 8x8, 16x8, 5x12, 7x12, 8x12, 16x12, 12x16, 10x18

I have not yet seen a complete explanation of why no other fonts show up as TrueType or OpenType choices.

It is possible to increase the range of available raster fonts. The console uses what are called "OEM" characters as opposed to standard "ANSI" characters. If a font does not have an OEM character set, it will add nothing to the available cell sizes of raster fonts.

A few places you can get fonts which will show up as additional raster fonts (courtesy Phil Robyn):

(1) go to http://www.textpad.com and click on 'Add-Ons | Clip Libraries' and look for and download 'Console 437'. These are 'Raster' fonts, but they're nice. In changing the Font properties of the CMD console window, you have to pick the right sizes (various) for the Console fonts to show up.

(2) Download Andale Mono (free) from Microsoft at

http://www.microsoft.com/truetype/fontpack/default.htm

In the CMD console properties, this will show up as a third font type, in addition to Lucida Console and Raster fonts.[editor: ONLY on NT 4]

Phil Robyn, Message-ID: <3BA03CF6.67E8F2D1@zipuclink.berkeley.edu>
Also note that many older WfW era FONs seem to show up as raster fonts; if you cruise for old Telnet clients you should find a few.

==============================================================================

7-4-1: What are the _real_ NTFS version numbers?

Note that the MSKB has severl mistakes about this.

Windows NT 3.1: NTFS 1 (?) Windows NT 4: NTFS 2 Windows 2000: NTFS 3 (MSKB erroneously references as "NTFS 5") Windows XP: NTFS 3.1 (MSKB erroneously references as "NTFS 5.1")

SOURCE:Andrej Budja [MVP]in news:6uelot42jmfeq9f4acj2tddhpmq0so0c4h@4ax.com
==============================================================================
SECTION 8: Example Batch Files and Commentary ==============================================================================

==============================================================================

8-0: Clues on Batch Files for New Users

A batch file is nothing more than a series of commands in a file separated by returns - just like typing at a command prompt.

(This is not _always_ true, particularly if you are using a FOR statement - and don't even think about DOSKEY - but for a new user it's a good way to see it.)

Here's a couple of tips that may help you get accustomed to batch files if you don't feel comfortablewith them.

(1) When you start writing batch files, open notepad and "pretend" that you're looking at a command prompt that is giving no feedback; you enter a command, hit return, and go to the next one.

(2) To help with training your brain, you may even want to make the command prompt look like Notepad for a while; to do this just tyoe "color f0" (that is a "zero" not an "o") at the command prompt, or "color 70" if that's too bright a background.

==============================================================================

8-1: MVOL.CMD - a user-friendly wrapper for MOUNTVOL

@echo off

echo.

:: * MVOL.CMD - Dean Wells - MSEtechnology - Sep. 2001 *

:: * Localize environment and initialize variables *

setlocal

set FILENAME=%0 set STOPSTATUS=0 set appendDIR=0 set foundMATCH=0 set DG=%2 set badMP=1

:: * Check for help switches (/? and -? won't compare within the string) *

if "%1"=="/?" goto :HELP if "%1"=="-?" goto :HELP for %%l in (/help -help /h -h) do if /i "%1"=="%%l" goto :HELP

:: * Setup prefix string *

if "%1"=="" ( set PREFIX=E set STOPSTATUS=2 ) else ( set PREFIX=Checking parameters and e )

:: * Tell user what's going on *

echo STATUS - %PREFIX%numerating media GUID's - Wait .

echo.

:: * Check for insufficient/excessive parameters *

if "%STOPSTATUS%"=="2" goto ignoreVALIDITY if "%2"=="" if not "%1"=="" goto :ERROR if not "%3"=="" goto :ERROR

:: * Expand mount point to fully qualified path *

set MP=%~f1

:: * Check validity of mount point * set MPT=%MP:~1,3% if "%MPT%"==":\" goto :errorDRIVE set MPT=%MP:~1,2% if "%MPT%"==":" goto :errorDRIVE set MPT=%MP:~0,2% for /f "tokens=8" %%d in ('chkntfs %MPT%') do if "%%d"=="NTFS." set badMP=0 if "%badMP%"=="1" goto :errorMPNTFS

:ignoreVALIDITY

:: * Query for match on each media GUID/assigned-drive-letter & build list *

for /f "skip=14" %%Q in ('mountvol') do call :findTARGET %%Q

:: * Jump point for display of media GUID's and associated mount points *

:errorHOP if not "%STOPSTATUS%"=="0" ( if "%STOPSTATUS%"=="2" ( set | find "’" echo.

set STOPSTATUS=1 goto :HELP )
goto :END )

:: * Generate an error if drive/GUID match was not found for target media *

if "%foundMATCH%"=="0" goto :badDG

:tryAGAIN

:: * Final validity check on mount point * for /f "tokens=2" %%l in ('mountvol %MP% %DG%') do set REPLY=%%l if "%REPLY%"=="filename," goto :existingMP if "%REPLY%"=="directory" goto :existingMP if "%REPLY%"=="is" goto :accessDENIED if "%REPLY%"=="parameter" goto :checkFURTHER

:: * If this line is reached then the nount succeeded *

:SUCCESS

:: * Script execution complete *

echo STATUS - The folder, "%MP%", has been mounted.

:: echo.

goto :END

:: * Begin definition of included procedures *

:checkFURTHER

:: * Check for existence of mount point *

if not exist %MP% ( md %MP% 1>nul 2>nul if not exist %MP% goto :cantCREATE goto :tryAGAIN )

goto :SUCCESS

:: * Determine if command line target was an existing mount point or GUID *

:findTARGET if "%STOPSTATUS%"=="1" goto :END set passed=%1 set lineCHECKER=%passed:~0,2% if "%lineCHECKER%"=="\\" ( goto :GUID ) else ( goto :DRIVE )

:GUID set mediaGUID=%passed% set incDRIVE=1 set /a incGUID=%incGUID%+1 set ’ %incGUID%=%passed% if "%STOPSTATUS%"=="2" goto :EOF

:: * Compare user parameters against each GUID entry *

if "%foundMATCH%"=="0" ( echo %passed% | find /i "%DG%" >nul if not errorlevel 1 ( set foundMATCH=1 set DG=%passed% )
) goto :EOF

:DRIVE set ’ %incGUID%.%incDRIVE%=%passed% set /a incDRIVE=%incDRIVE%+1 if "%STOPSTATUS%"=="2" goto :EOF

:: * Determine if mount point already exists * if "%passed%"=="%MP%\" goto :existingMP

:: * Compare user parameters against each drive letter entry *

if "%foundMATCH%"=="0" ( echo %passed% | find /i "%DG%" >nul if not errorlevel 1 ( set foundMATCH=1 set DG=%mediaGUID% )
) goto :EOF

goto :END

:existingMP echo ERROR - Specified mount point name already exists - manual correction needed goto :END

:accessDENIED echo ERROR - Access was denied - manual correction needed goto :END

:cantCREATE echo ERROR - Could not create the mount point - manual correction needed goto :END

:badDG echo ERROR - GUID supplied was invalid echo.

set STOPSTATUS=2 goto :errorHOP

:errorDRIVE echo ERROR - Cannot mount to root of drive specifier - include folder name echo.

goto :HELP

:ERROR echo ERROR - Incorrect number of parameters supplied echo.

goto :HELP

:errorMPNTFS echo ERROR - Mount point failed NTFS media validation - manual correction needed echo.

:HELP echo SYNTAX - %FILENAME% [local folder] [existing mount point OR any part of GUID] echo.

echo PURPOSE - If you wish to gain access to the CD-ROM drive without continually echo changing drive letters it can be achieved by creating a mount echo point. In laymen's terms a mount point links a folder to a piece of echo local media such as a different partition, hard disk, CD-ROM or echo floppy disk (No shares or mapped drives may be referenced ... yet!) echo.

echo NOTES - The rather large number (volume GUID) can be obtained by typing echo "%FILENAME%" on it's own, you may also use any part of the GUID that echo uniquely identifies it. In the event you supply a partial GUID that echo matches more than one media GUID the first in the media list will echo be used echo.

echo EXAMPLE - echo.

echo C:\^>%FILENAME% C:\CD-ROM \\?\Volume{a8b1ac21-59c4-......}\ echo OR - echo C:\^>%FILENAME% MoreData E: echo.

:END

:: * End localized environment *

endlocal

==============================================================================

8-2: FindForestRoot.CMD

This is an example which illustrates several advanced techniques together: the FOR loop, advanced SET use, piping, escaping special characters... Author's notes are below it on the actual usage of the script.

SCRIPT:

@echo off

for /f %%F in ('type %SystemRoot%\System32\Config\Netlogon.DNS ^| find "CNAME"') do set FR=%%F set FR=%FR:~44% echo Forest Root is %FR%

AUTHOR NOTES: The objective of the script was to retrieve the forest root name for a particular Domain/Domain Controller. This can be done in so many ways, as is obvious from the number and size of the responses, some of which would be perceived as quite complicated by less experienced users. I tried to simplify the process as much as possible and FROOT.CMD is the result ;) - that filename still makes me laugh.

Firstly, let me say that, at present, this can only function if executed on a DC though it would not take a great deal of effort to remove that restriction.

The base premise of the script exploits the fact that all Domain Controllers register a CNAME record, amongst others, in the DNS zone that represents the forest root. The record is labeled after the DC's unique DB GUID and contained directly beneath the _msdcs subdomain of the forest root zone. By extracting the line that contain the phrase "CNAME " from the NETLOGON.DNS file on a DC, it is possible to determine the forest root domain name. This is achieved by reading the string from offset 44 until the next occurrence of a space. The SET commands string handling function is not responsible for locating the space, that was achieved within the FOR command by exploiting the default TOKENS and DELIMS (which are 1 and a space or tab respectively).

NOTES -

1. DC's presently only register one CNAME record.

2. I have added a space to the end of the query string in order to remove the possibility of finding multiple hits if the forest root happened to contain CNAME within it's FQDN.

3. The NETLOGON.DNS file contains the dynamic registration entries for the local DC and is only present on DC's.

==============================================================================

8-3: Miscellaneous Internet Explorer Scripts

The following scripts are all "quickies" designed to get around some annoyances of browser-based searches: lag time, multipage scrolls, having to hunt up a bookmark, retype essential information.

The feature they have in common is that these sites pass key data in your searches via the URL, making it easy to "build" a command line.

-------------------------------- GETRFC.CMD

Usage: "getrfc <n>" where <n> is the RFC number and the browser will show you the RFC.

start ftp://ftp.isi.edu/in-notes/rfc%1.txt -------------------------------- DRIVETO.CMD

Usage: "driveto 12345 N Main St"

Customization: Substitute in the correct City and State; this immediately generates a map of driving directions from your location to the address used as an argument. Accepts up to 5 elements in the address. Parameters you should replace are delimited by [[ ]]; REMOVE the [[ ]] marks also.
start http://maps.yahoo.com/py/ddResults.py?Pyt=Tmap^&tarname=^&tardesc=^&newname=^&newdesc=^&newHash=^&newTHash=^&tlt=^&tln=^&slt=^&sln=^&newFL=Use+Address+Below^&newaddr=[[12345]]+[[N]]+[[Main]]+[[St]]^&newcsz=[[Chicago]]%2C+[[IL]]^&newcountry=us^&newTFL=Use+Address+Below^&newtaddr=%1+%2+%3+%4+%5+^&newtcsz=[[Chicago]]+[[IL]]^&newtcountry=us^&Submit=Get+Directions

-------------------------------- GNG.CMD

Usage: "gng <newsgroupname>" example: "gng.microsoft.public.win2000.cmdprompt.admin"

Displays the most recent posts to the given newsgroup as recorded at Google.
@echo off start http://groups.google.com/groups?as_ugroup=%1^&num=100

-------------------------------- PPP.CMD @echo off&rasdial <connectoid> <username> <password>

-------------------------------- Online.CMD @echo off&rasdial <connectoid> <username> <password>&& start "" /min "C:\Program Files\Outlook Express\msimn.exe"

-------------------------------- n-+.cmd

Use to stop and restart services quickly

@echo off & net stop %1 && net start %1 -------------------------------- HUP.CMD @echo off&rasdial /disconnect

-------------------------------- HLMAKE.CMD

fsutil hardlink create %1 %2\%1

============================================================================
SECTION 9: ACKNOWLEDGEMENTS ============================================================================

9.1 ORGANIZATIONS

including...

+Seattle Micro for starting this whole mess
+Microsoft, for somehow turning a sow's ear into a backwards-compatible silk purse (for limited values of "compatible")
+JSI
+Google
+The MSKB

9.2 PEOPLE

Many are cited elsewhere under sections I stole directly from them (I love writing. Murder a lot of people and you're a mass murderer; plagiarize a lot of people and you're a "researcher"). Even sections I wrote on my own owe a debt to information, insights, and suggestions I garnered from many of the following <CYA> as well as others I do not remember at this time </CYA>. These are "noms de net", so you will want to do a Google search if you want to find contact info - nothing to see here, spammers, keep moving.

+Ahmad Sa'adeh
+Andrej Budja
+Clay Calvert
+Dean Wells
+Jerold Schulman
+Joe Richards
+Jonathan de Boyne Pollard
+Marty List
+Ndi
+Nimbus
+Phil Robyn
+Tim Hill for writing "NT Shell Scripting"

9.3 PEOPLE WHOSE ADVICE I IGNORED

My Mom, who told me to take a typing class in 9th grade (to which I responded: "I'm going into technology. I won't need to know how to type!").