home *** CD-ROM | disk | FTP | other *** search
/ Hacker Chronicles 2 / HACKER2.BIN / 977.MUF16.T < prev    next >
Text File  |  1993-10-27  |  67KB  |  1,690 lines

  1.  
  2. ─ Area: [ECHO] BATCH POWER PROG. ─────────────────────────────────────────────
  3.   Msg#: 4967                                         Date: 09-12-93  20:18
  4.   From: Gary Cooper                                  Read: Yes    Replied: No 
  5.     To: ALL                                          Mark:                     
  6.   Subj: MUF Ver. 1.6 #1
  7. ──────────────────────────────────────────────────────────────────────────────
  8.                                  The
  9.  
  10.                                Fabulous
  11.  
  12.        ####       ####        ###    ###         ##########
  13.        #####     #####        ###    ###         ##########
  14.        ### ##   ## ###        ###    ###         ###
  15.        ###  ## ##  ###        ###    ###         ########
  16.        ###   ###   ###        ###    ###         ########  
  17.        ###    #    ###        ###    ###         ###
  18.        ###         ###        ###    ###         ###
  19.        ###         ###  ##    ##########   ##    ###     ##
  20.        ###         ###  ##     ########    ##    ###     ##
  21.  
  22.                                  List 
  23.  
  24.                   (MicroSoft's Undocumented Features)
  25.  
  26.                           Volume 1  Number 6
  27.  
  28. ===============================================================================
  29.  
  30. 1)  TRUENAME
  31.  
  32.     Internal DOS 5.0 command.  Canonicalize a filename or path (using
  33.     DOS interrupt 21h, function 60) prints the actual directory.
  34.  
  35.     SYNTAX
  36.  
  37.     TRUENAME filename      prints the complete path to file
  38.  
  39.     TRUENAME directory     prints the complete path to directory
  40.  
  41.     Note: If the path is in a network, it starts with a \\machine-name
  42.  
  43.                               Michael Larsson
  44.  
  45.  
  46.     TRUENAME is analogous to the "whence" command in the UNIX Korn
  47.     shell.  It returns the real fully qualified pathname for a command.
  48.  
  49.     TRUENAME is useful in networks, where a physical drive may be mapped
  50.     to a logical volume, and the user needs to know the physical location
  51.     of the file.  It ignores the DOS SUBST, and JOIN commands, or network
  52.     MAPped drives.
  53.  
  54.     It is an undocumented MS/DOS feature, but is documented in 4DOS as
  55.     follows:
  56.  
  57.     SYNTAX        (Internal DOS 5.0 / 4DOS)
  58.  
  59.     TRUENAME [d:][path]filename
  60.  
  61.     PURPOSE
  62.  
  63.     Returns a fully qualified filename.
  64.  
  65.     COMMENTS
  66.  
  67.     TRUENAME will see "through" JOIN and SUBST commands, and requires
  68.     MS-DOS 3.0 or above.
  69.  
  70.     EXAMPLE
  71.  
  72.     The following command uses TRUENAME to get the true pathname for a
  73.     file:
  74.  
  75.     c:\> subst d: c:\util\test
  76.     c:\> truename d:\test.exe
  77.  
  78.     c:\util\test\test.exe
  79.  
  80.                               Dennis McCunney
  81.  
  82.     TRUENAME : will reveal the full name drive and path of the filename.
  83.     If you specify a wildcard ('*') in the filename, it will expand
  84.     the filename to use question marks instead. If the path includes
  85.     the ..\ sequence, TRUENAME will examine the directory structure and
  86.     calculate the path.  Stranger still, the line:
  87.  
  88.         TRUENAME \CRONK\FLIBBET\..\ART
  89.         produces the response:
  90.         C:\CRONK\ART
  91.  
  92.     even if the directories \CRONK\FLIBBET and the file ART don't exist!
  93.     Don't expect this command to work across networks.
  94.  
  95.                               PC Magazine #212 Pg. 48-49
  96.                               Forwarded by:
  97.                               Rodney Atkins
  98.  
  99. ===============================================================================
  100.  
  101. ... A feature is a bug with seniority.
  102. ___ Blue Wave/QWK v2.12
  103.  
  104. -!- EzyQwk V1.02
  105.  ! Origin: Programmer's Corner BBS, Saint John, NB  (v32/v42) (1:255/6)
  106.  
  107. ─ Area: [ECHO] BATCH POWER PROG. ─────────────────────────────────────────────
  108.   Msg#: 4968                                         Date: 09-12-93  20:19
  109.   From: Gary Cooper                                  Read: Yes    Replied: No 
  110.     To: ALL                                          Mark:                     
  111.   Subj: MUF Ver. 1.6 #2
  112. ──────────────────────────────────────────────────────────────────────────────
  113. 2)  FDISK /STATUS ?
  114.  
  115.     Prints a screen just like using option 4 of fdisk "Partition
  116.     information", but includes extended partition information.
  117.     Nice if you want to get an overview without fear of pressing
  118.     the wrong keys.
  119.                               Armin Hanisch
  120.  
  121.     Doesn't work in Ver 3.30.
  122.  
  123.                               Mitch Ames
  124.  
  125.     FDISK /MBR
  126.  
  127.     MS-DOS 5.0 FDISK has an undocumented parameter, /MBR, that causes it
  128.     to write the master boot record to the hard disk without altering the
  129.     partition table information. While this feature is not documented, it
  130.     can be told to customers on a need-to-know basis.
  131.  
  132.     What is the MBR?
  133.  
  134.     At the end of the ROM BIOS bootstrap routine, the BIOS will read and
  135.     execute the first physical sector of the first floppy or hard drive on
  136.     the system. This first sector of the hard disk is called the master
  137.     boot record, or sometimes the partition table or master boot block. At
  138.     the beginning of this sector of the hard disk is a small program. At
  139.     the end of this sector is where the partition information, or
  140.     partition table, is stored. This program uses the partition
  141.     information to determine which partition is bootable (usually the
  142.     first primary DOS partition) and attempts to boot from it.
  143.  
  144.     This program is what is written to the disk by FDISK /MBR and is
  145.     usually called the master boot record.  During normal operation,
  146.     FDISK only writes this program to the disk if there is no master
  147.     boot record.
  148.  
  149.     Why is the MBR changed during Setup?
  150.  
  151.     During installation of Microsoft MS-DOS 5 Upgrade, Setup will replace
  152.     the master boot record on the hard disk with code to display the
  153.     message:
  154.  
  155.        The MS-DOS 5.0 Setup was not completed.
  156.        Insert the UNINSTALL #1 diskette in drive A.
  157.        Press the ENTER key to continue.
  158.  
  159.     This message should be erased and the master boot code rewritten
  160.     before Setup is completed. If a problem occurs during Setup and you
  161.     return to the previous MS-DOS, UNINSTAL should also remove this
  162.     message. However, should Setup or UNINSTAL fail to remove this
  163.     message, or should the master boot record become corrupted, a new
  164.     master boot record can be written to the disk using the following
  165.     command:
  166.  
  167.         C:\>fdisk /mbr
  168.  
  169.     Warning:  Writing the master boot record to the hard disk in this
  170.     manner can make certain hard disks unusable.  IE: those partitioned
  171.     with SpeedStor, or Microhouse's DrivePro program.  It can also cause
  172.     problems for some dual-boot programs, or for disks with more than 4
  173.     partitions.  Specific information is below.
  174.  
  175.     WARNINGS:
  176.  
  177.     This option should not be used if:
  178.  
  179.        - the disk was partitioned using Storage Dimensions' SpeedStor
  180.          utility with its /Bootall option
  181.        - the disk was partitioned using MicroHouse's DrivePro program AND
  182.          the drive was NOT setup using a standard CMOS value.
  183.        - more than 4 partitions exist
  184.        - certain dual-boot programs are in use
  185.  
  186.     Storage Dimensions' SpeedStor utility using the /Bootall option
  187.     redefines the drive's physical parameters (cylinder, head, sector).
  188.     /BOOTALL stores information on how the drive has been changed in an
  189.     area of the master boot record that MS-DOS does not use. FDISK /MBR
  190.     will erase that information, making the disk unusable.
  191.  
  192.     MicroHouse's DrivePro program functions similarly to SpeedStor above, 
  193.     and has the same boot record vulnerability.  MicroHouse identifies their
  194.     boot program at boot-up by a small MICROHOUSE logo near the left side of
  195.     the screen about two-thirds down, at power on.  If you see this logo, 
  196.     do NOT use FDISK /MBR, or the drive will become unusable.
  197.  
  198.     Some older OEM versions of MS-DOS and some third-party partitioning
  199.     utilities can create more than 4 partitions.  Additional partition
  200.     information is commonly stored information on partitions in an area
  201.     that FDISK /MBR will overwrite.
  202.  
  203.     Some dual-boot programs have a special MBR that asks the user which
  204.     operating system they want on bootup.  FDISK /MBR erases this program.
  205.     Dual-boot systems that boot whichever partition is marked Active are
  206.     not affected by FDISK /MBR.
  207.  
  208.                               Edited: MicroSoft Publication
  209.                               forwarded by Don Dean
  210.                               editing suggestions made by
  211.                               Matt Mc_Carthy (info re:
  212.                               MicroHouse's DrivePro)
  213.  
  214. ... BUG (n.) An undocumented feature   FEATURE (n.) A documented bug.
  215. ___ Blue Wave/QWK v2.12
  216.  
  217. -!- EzyQwk V1.02
  218.  ! Origin: Programmer's Corner BBS, Saint John, NB  (v32/v42) (1:255/6)
  219.  
  220. ─ Area: [ECHO] BATCH POWER PROG. ─────────────────────────────────────────────
  221.   Msg#: 4969                                         Date: 09-12-93  20:21
  222.   From: Gary Cooper                                  Read: Yes    Replied: No 
  223.     To: ALL                                          Mark:                     
  224.   Subj: MUF Ver. 1.6 #3
  225. ──────────────────────────────────────────────────────────────────────────────
  226. 2)  FDISK /MBR (Continued)
  227.  
  228.     If you have a Boot Sector Virus, just boot from a known "clean"
  229.     floppy disk (which has the System files and FDISK on it - IE:
  230.     your "disaster recovery disk") and run FDISK /MBR.  Bye, Bye Virus!
  231.  
  232.                               Gary Cooper
  233.  
  234.     Make sure it's write protected ..
  235.  
  236.                               Jasen Betts
  237.  
  238.  
  239.     [Begin quote]
  240.  
  241.     One of the FDISK functions, updating the Master Boot Record (MBR),
  242.     does not appear on any of the FDISK menus. The Master Boot Record is
  243.     located at the beginning of your primary fixed disk. It is composed of
  244.     two parts -- the master boot code and the partition table. The master
  245.     boot code is a short program that determines which operating system
  246.     will start the computer, then transfers control to that operating system.
  247.     The partition table contains information about the partitions located on
  248.     the fixed disk.
  249.  
  250.     The Master Boot Record may need to be updated when:
  251.  
  252.     * An operating system other than MS-DOS is on the fixed disk.
  253.       Some operating systems replace the master boot code with their
  254.       own program, which may not allow MS-DOS to start the system,
  255.       even if the partitions are valid DOS partitions. If this condition
  256.       exists, updating the Master Boot Record will replace only the master
  257.       boot code.
  258.  
  259.     * The information at the beginning of the fixed disk has been
  260.       overwritten. The partition information is destroyed and the fixed
  261.       disk will no longer start any operating system. If this condition
  262.       exists, updating the Master Boot Record will replace both the master
  263.       boot code and the partition table. However, the partition table will
  264.       not have any defined partitions.
  265.  
  266.     If you cannot get your system to start MS-DOS from the fixed disk and
  267.     you are sure the initialization process was performed correctly, you
  268.     may need to update the Master Boot Record. To do this, enter the
  269.     following command:
  270.  
  271.          FDISK /MBR
  272.  
  273.     FDISK does not display any menus or messages while it is updating the
  274.     Master Boot Record. When the procedure is complete, the MS-DOS
  275.     prompt is displayed.
  276.  
  277.     If you are unable to start MS-DOS from the fixed disk after updating
  278.     the Master Boot Record, you may need to partition and format your fixed
  279.     disk. If you still cannot use the fixed disk to start MS-DOS, contact
  280.     your Authorized COMPAQ Computer Dealer for further assistance.
  281.  
  282.     [End quote]
  283.                               Compaq DOS 4.01 Manual
  284.                               Submitted by
  285.                               Paul Maserang
  286.  
  287.     If the situation at hand involved a trashed partition table. This
  288.     regenerates the partition table, but does NOT restore the user
  289.     partition information in it. Therefore, after using FDISK /MBR, you
  290.     must still use FDISK without the /MBR switch to re-enter the partition
  291.     information before you can do anything else. If the newly entered
  292.     partition information is identical to that which existed there prior
  293.     to the partition table being trashed, and nothing else has been damaged,
  294.     there should be no need to reformat the drive, because the boot sector,
  295.     FATs, directories, and data should still be undisturbed. If the boot
  296.     sector or either of the two hidden system files (IBMBIO.COM/IBMDOS.COM 
  297.     or IO.SYS/MSDOS.SYS) are damaged, the SYS command can be used to restore
  298.     them without losing anything else.
  299.  
  300.                               Paul Maserang
  301.  
  302. ... Its not a bug, its an undocumented feature.
  303. ___ Blue Wave/QWK v2.12
  304.  
  305. -!- EzyQwk V1.02
  306.  ! Origin: Programmer's Corner BBS, Saint John, NB  (v32/v42) (1:255/6)
  307.  
  308. ─ Area: [ECHO] BATCH POWER PROG. ─────────────────────────────────────────────
  309.   Msg#: 4970                                         Date: 09-12-93  20:23
  310.   From: Gary Cooper                                  Read: Yes    Replied: No 
  311.     To: ALL                                          Mark:                     
  312.   Subj: MUF Ver. 1.6 #4
  313. ──────────────────────────────────────────────────────────────────────────────
  314. 2)  FDISK /MBR (Concluded)
  315.  
  316.     Paul, I work _only_ with the Microsoft versions, and have not had the
  317.     same experience.  The /MBR parameter _only_ rewrites the MBR.  It does
  318.     not affect the partition information.  I use it daily on various
  319.     machines and have not lost one byte of data.
  320.  
  321.                               Matt Mc_carthy
  322.  
  323.     I guess you didn't know that "Master Boot Record" and "Partition Table"
  324.     refer to the same thing.  What you're talking about is the master boot
  325.     CODE, the executable code that accompanies the partition table and is
  326.     located on the same physical sector (0).
  327.  
  328.     Here's what I find in the first few bytes of my physical sector 0
  329.     (unassembled with DEBUG after copying the sector to a file):
  330.  
  331.     2BB7:0100 33C0            XOR     AX,AX
  332.     2BB7:0102 FA              CLI
  333.     2BB7:0103 BED0            MOV     SS,AX
  334.     2BB7:0105 BC007C          MOV     SP,7C00
  335.     2BB7:0108 BEC0            MOV     ES,AX
  336.     2BB7:010A BED8            MOV     DS,AX
  337.     2BB7:010C FB              STI
  338.     2BB7:010D 8BF4            MOV     SI,SP
  339.     2BB7:010F BF0006          MOV     DI,0600
  340.     2BB7:0112 B90002          MOV     CX,0200
  341.     2BB7:0115 FC              CLD
  342.     2BB7:0116 F3              REPZ
  343.     2BB7:0117 A4              MOVSB
  344.     2BB7:0118 EA1D060000      JMP     0000:061D
  345.  
  346.     I also find the following text in the first half of the sector:
  347.  
  348.         Missing operating system.Error loading operating system.Invalid
  349.         partition table.Author - Siegmar Schmidt
  350.  
  351.     I have only one partition on my C: drive, and its information is in
  352.     the last of four possible positions in the partition table. The first
  353.     significant byte (non-zero) is at offset 01EEh in physical sector 0.
  354.     The rest, from offset 00EDh to 01EDh is nothing but 00h.
  355.  
  356.     So it would appear that everything from offset 0000h to 00ECh is the
  357.     Master Boot CODE, and everything from 00EDh to the end of the sector
  358.     (01FFh) is the Master Boot RECORD (aka partition table). More likely,
  359.     the partition table probably begins at offset 0100h, and takes up the
  360.     last 256 of the 512 bytes available in the sector.
  361.  
  362.     Beginning with the first significant byte of my partition table (at
  363.     offset 01EEh), this is what mine shows:
  364.  
  365.        80 01 01 04 03 91 65 11 00 00 00 07 A3 00 00 55 AA
  366.        ^^
  367.     This first byte, I think, is the drive on which this partition
  368.     is located, and the next byte might indicate that this is the
  369.     first (primary) partition (in my case, the ONLY partition for
  370.     this drive).
  371.  
  372.     Now, according to my manual, FDISK /MBR can either re-write only
  373.     the Master Boot CODE when necessary; or it can re-write both the
  374.     Master Boot Code AND the Master Boot RECORD, if it determines that
  375.     the partition table has been corrupted.
  376.  
  377.     If it does re-write both, then you do have to use FDISK without
  378.     the /MBR switch after using it with the switch, because the
  379.     re-written partition table has no defined partitions until you do.
  380.     But when you use the /MBR switch, it produces no screen output
  381.     (at least not on the version I'm using), so you don't know whether
  382.     it did both or just the code. So you should still check to see that
  383.     you have a valid partition by using FDISK without the /MBR switch
  384.     afterwards.
  385.  
  386.                               Paul Maserang
  387. ===============================================================================
  388.  
  389. ... Life has a lot of undocumented features!
  390. ___ Blue Wave/QWK v2.12
  391.  
  392. -!- EzyQwk V1.02
  393.  ! Origin: Programmer's Corner BBS, Saint John, NB  (v32/v42) (1:255/6)
  394.  
  395. ─ Area: [ECHO] BATCH POWER PROG. ─────────────────────────────────────────────
  396.   Msg#: 4971                                         Date: 09-12-93  20:24
  397.   From: Gary Cooper                                  Read: Yes    Replied: No 
  398.     To: ALL                                          Mark:                     
  399.   Subj: MUF Ver. 1.6 #5
  400. ──────────────────────────────────────────────────────────────────────────────
  401. 3)  SHELL=C:\COMMAND.COM /E:1024 /F /P
  402.  
  403.     The /F in your Config.sys SHELL= statement is another undocumented
  404.     feature.
  405.  
  406.     It forces a "Fail" response to the "Abort, Retry, Fail" prompt issued
  407.     by the DOS critical error handler.
  408.  
  409.                               Dennis McCunney
  410.  
  411.     The /F switch on the SHELL command in CONFIG.SYS will not work in
  412.     a DESQview environment. The only thing I have found that will is a
  413.     program called FATAL.COM.
  414.  
  415.                               Bruce Bowman
  416.  
  417.     COMMAND /F
  418.  
  419.     Makes all those annoying "Abort, Retry, Ignore, Fail?"
  420.     disk error messages default to "Fail".
  421.  
  422.                               Erik Ratcliffe
  423.  
  424.     For DOS 3.30 (somebody might care to check these for other versions):
  425.  
  426.     COMMAND /P
  427.  
  428.        Docs say that this doesn't allow you to exit back to the
  429.        previous shell (ie /Permanent), but /P also forces
  430.        \autoexec.bat to be run on secondary shells.
  431.  
  432.     COMMAND /D
  433.  
  434.        (When used with a primary shell, or secondary with /P)
  435.        prevents execution of \autoexec.bat
  436.  
  437.                               Mitch Ames
  438.  
  439.     I just checked, and these also both apply to DOS 5.00
  440.  
  441.                               Mitch Ames
  442.  
  443. ===============================================================================
  444. 4)  VER/R
  445.  
  446.     Yields extended information about the OS Version.  IE:
  447.  
  448.     MS-DOS Version 5.00
  449.     Revision A
  450.     DOS is in HMA
  451.  
  452.                               Billy Gilbreath
  453.  
  454.     Doesn't work with DOS 3.30
  455.  
  456.                               Mitch Ames
  457.  
  458. ===============================================================================
  459. 5)  ECHO OFF     from the command line erases the prompt and leaves
  460.                  just a cursor on the screen.
  461.  
  462.     ECHO ON      from the command line restores the prompt.
  463.  
  464.     This works with all version of DOS (tested so far!).
  465.  
  466.                               Michael Larsson
  467.  
  468.     One of the most frequently asked questions in the BatPower echo
  469.     is "How do I ECHO a blank line?"  The most common answer is "ECHO."
  470.     However, I have captured a few posts which expand on the
  471.     possible answers to this request:
  472.  
  473.                               Editor's Note
  474.  
  475.     ECHO"
  476.  
  477.                               Paul Welsh
  478.  
  479.     just about any white space character will work. 
  480.  
  481.                               Alan Newbery
  482.  
  483.     I just found out myself that any delimiter will work here
  484.     (ECHO. ECHO" ECHO, ECHO: ECHO; ECHO[ ECHO] etc.).  Apparently
  485.     it's just the way that the command handles the delimiter and
  486.     has been available from way back.  Microsoft just began
  487.     mentioning it in the documentation recently, though, and their
  488.     examples use a period.
  489.  
  490.                               John Whitfield
  491. ===============================================================================
  492.  
  493. ... _My_ software never has bugs.  It just develops random features...
  494. ___ Blue Wave/QWK v2.12
  495.  
  496. -!- EzyQwk V1.02
  497.  ! Origin: Programmer's Corner BBS, Saint John, NB  (v32/v42) (1:255/6)
  498.  
  499. ─ Area: [ECHO] BATCH POWER PROG. ─────────────────────────────────────────────
  500.   Msg#: 4972                                         Date: 09-12-93  20:26
  501.   From: Gary Cooper                                  Read: Yes    Replied: No 
  502.     To: ALL                                          Mark:                     
  503.   Subj: MUF Ver. 1.6 #6
  504. ──────────────────────────────────────────────────────────────────────────────
  505. 6)  FORMAT
  506.  
  507.     FORMAT /H
  508.  
  509.         In DOS 3.30 (I don't know about other versions), FORMAT /H
  510.         will cause the format to begin immediately after pressing Y
  511.         in response to "Format another?", rather than displaying
  512.         "Place disk to be formatted in drive A: and press Enter" on
  513.         a second and subsequent disks.
  514.  
  515.                               Mitch Ames
  516.  
  517.         On 5.0 it comes back as "invalid switch".
  518.  
  519.                               John Mudge
  520.  
  521.     FORMAT A: /AUTOTEST
  522.  
  523.         The autotest parameter will allow format to proceed, checking
  524.         existing format (unless the /u parameter is also present) and
  525.         proceeding with the format.
  526.  
  527.         All this will take place with no delay and no waiting for user
  528.         input.  It will also end without pausing.  It will not ask for
  529.         a volume label or whether to format another diskette.
  530.  
  531.         WARNING!  This procedure will also work on hard drives!  Be very
  532.         cautious if you plan to use this feature.
  533.  
  534.                               Wayne Woodman
  535.  
  536.         Problem is that it won't take any other switches like /U, /S or
  537.         /Q which is a bit of a shame really.
  538.  
  539.                               Peter Lovell
  540.  
  541.         With Dos 5 it certainly takes /u and /s as I have used it, in
  542.         fact I think /u is required if the disk is not pre-formatted as
  543.         the drive hangs up otherwise.
  544.  
  545.         I would agree about /q though, this does not work and gives the
  546.         error message you quote.
  547.  
  548.                               Terry Kreft
  549.  
  550.  
  551.         FORMAT/U is not available in DOS 3.30
  552.  
  553.                               Mitch Ames
  554.  
  555.     FORMAT C: /BACKUP
  556.  
  557.         This week I've read some articles in Dutch computer magazines about
  558.         MUF's which are very interesting (if you don't already know about
  559.         them).
  560.  
  561.         I already knew the FORMAT option /AUTOTEST, but new to me was the
  562.         /BACKUP option.
  563.  
  564.         EXAMPLE: FORMAT A: /BACKUP
  565.  
  566.         It seems to work exactly like /AUTOTEST, but it DOES ask for a
  567.         volume label.
  568.                               Willem Van.den.broek
  569.   
  570.     FORMAT/SELECT
  571.  
  572.         is like DOS-Mirror  ... for safety-fanatics only
  573.  
  574.     FORMAT/SELECT/U
  575.  
  576.         makes disks unreadable (remember the U)
  577.  
  578.                               Reinhard Kujawa
  579.                               Info from The German magazine PC PRAXIS
  580.  
  581.     FORMAT A: /SPACE
  582.  
  583.         On IBM DOS v6.01 the command:
  584.  
  585.         FORMAT A: /SPACE
  586.  
  587.         puts a 12288 byte file named MIRROR.FIL on the disk ...
  588.  
  589.         So, the command:
  590.  
  591.         FORMAT A: /U /SPACE
  592.  
  593.         just ruins the durn diskette!  A subsequent "DIR A:" gives you a:
  594.  
  595.           General failure reading drive A
  596.           Abort, Retry, Fail
  597.  
  598.                               Vernon Frazee
  599. ===============================================================================
  600.  
  601. ... Hidden OLR feature: CTRL-ALT-DEL to view BBS user password file.
  602. ___ Blue Wave/QWK v2.12
  603.  
  604. -!- EzyQwk V1.02
  605.  ! Origin: Programmer's Corner BBS, Saint John, NB  (v32/v42) (1:255/6)
  606.  
  607. ─ Area: [ECHO] BATCH POWER PROG. ─────────────────────────────────────────────
  608.   Msg#: 4973                                         Date: 09-12-93  20:28
  609.   From: Gary Cooper                                  Read: Yes    Replied: No 
  610.     To: ALL                                          Mark:                     
  611.   Subj: MUF Ver. 1.6 #7
  612. ──────────────────────────────────────────────────────────────────────────────
  613. 7)  DRIVPARM /c
  614.  
  615.     Syntax:  DRIVPARM /d:number [/c] [/f:factor] [/h:heads] [/i] [/n]
  616.              [/s:sectors] [/t:tracks]
  617.  
  618.     /d:n   refers to the drive NUMBER (0=A:, 1=B:, 2=C:, etc...) of the drive
  619.            whose parameters you are changing (in your case, it would be 2 for
  620.            B:).
  621.  
  622.     /c     is the switch I was referring to for change line support.  IF YOU
  623.            INCLUDE /c, YOU ARE TELLING DOS THAT YOUR COMPUTER *CAN* TELL
  624.            WHETHER THE DRIVE DOOR HAS BEEN OPENED SINCE THE LAST ACCESS.
  625.  
  626.     /i     specifies an electronically-compatible 3.5 inch floppy disk-drive.
  627.            You should use it if your computer's ROM BIOS does NOT support 3.5
  628.            floppy diskette drives.
  629.  
  630.     /n     specifies a NON-removable block device
  631.  
  632.     The other parms are similar to DRIVER.SYS
  633.  
  634.                               IBM Technical Publication Information
  635.                               forwarded by Andrew Barnhardt
  636.  
  637.     The '/C' switch doesn't actually check to see if the drive -door-
  638.     has been opened or not, but it does make another check to see if
  639.     the disk in there now is different from the one when the drive was
  640.     last accessed.  I have to use that switch with my 5 1/4 floppy
  641.     because it's an older drive working with a new motherboard (at
  642.     least that's the explanation I've heard).
  643.  
  644.                               Andrew Barnhardt
  645.  
  646.     Does DRIVPARM return an errorlevel, or give a warning message?
  647.  
  648.                               Gary Cooper
  649.  
  650.     No, not that I'm aware of.  You insert the drivparm command in
  651.     your CONFIG.SYS file.  Just DRIVPARM=xx xx ...
  652.  
  653.                               Andrew Barnhardt
  654. ===============================================================================
  655. 8)  IF EXIST
  656.  
  657.     IE: IF EXIST EMMXXXX0 GOTO APPLICATION
  658.  
  659.     This is a handy quirk of DOS - installable drivers are seen as files
  660.     in all directories.  You can use the if exist test to either test for
  661.     the existence of a directory, with "if exist <dirname>\nul", (which
  662.     fails if the directory does not exist because the nul device is not
  663.     found,) or to test whether a driver is loaded.
  664.  
  665.     Caveats:  you need to know the name of the directory or the driver
  666.     whose existance you are testing, and this is MS/DOS specific - it
  667.     doesn't work on network drives, and may not work under DR-DOS.
  668.  
  669.                               Gary Marden
  670.  
  671.     This works definitely under DRDOS:
  672.  
  673.               DR DOS Version 6.0
  674.               Copyright (c) 1976,1982,1988,1990,1991 Digital Research Inc.
  675.               Alle Rechte vorbehalten.
  676.  
  677.               C:\>if exist emmxxxx0 echo ja
  678.               ja
  679.  
  680.                               Wolfram Serber
  681.  
  682.     Where did you learn the "EMMXXXX0" name from?
  683.  
  684.     Instead of typing MEM /C, type MEM /D for the "debug" listing.
  685.     That should give the names you're looking for.
  686.  
  687.                               Erik Ratcliffe
  688.  
  689.     The trouble is, EXISTS returns TRUE for COM3/4 and LPT2/3 even
  690.     though the hardware does not exist.
  691.  
  692.                               Rudy Lacchin
  693. ===============================================================================
  694.  
  695. ... Aha! Another 'undocumented feature'!
  696. ___ Blue Wave/QWK v2.12
  697.  
  698. -!- EzyQwk V1.02
  699.  ! Origin: Programmer's Corner BBS, Saint John, NB  (v32/v42) (1:255/6)
  700.  
  701. ─ Area: [ECHO] BATCH POWER PROG. ─────────────────────────────────────────────
  702.   Msg#: 4974                                         Date: 09-12-93  20:30
  703.   From: Gary Cooper                                  Read: Yes    Replied: No 
  704.     To: ALL                                          Mark:                     
  705.   Subj: MUF Ver. 1.6 #8
  706. ──────────────────────────────────────────────────────────────────────────────
  707. 9) SWITCHES
  708.  
  709.     SWITCHES=/W
  710.  
  711.         Enables you to have your WINA20 file anywhere on your boot
  712.         drive.  Without this you have to have it in the root directory.
  713.  
  714.                               Erik Ratcliffe
  715.  
  716.          You should also mention that this one should not be used with
  717.          Windows 3.1. I've noticed a lot of people who do, and it wastes
  718.          around 120K of UMBs.
  719.  
  720.                               George Hannah
  721.  
  722.          This is documented in DOS 6.0
  723.  
  724.                               Richard Pade
  725.  
  726.     SWITCHES=/F
  727.  
  728.         Do you know that there is a rarely known switch called /F?
  729.         If you put this line:
  730.  
  731.               SWITCHES=/F
  732.  
  733.         as the first line in your CONFIG.SYS, MS-DOS would not delay 2
  734.         seconds, but immediately start processing your CONFIG.SYS. This
  735.         trick has no other effects (AFAIK), but those who DO know better,
  736.         correct me if I'm wrong!
  737.  
  738.                               Samuel Tan Yi Hsuen
  739.  
  740.         But where would you put the switch, it's not like you load a device
  741.         driver that early in boot up do you?
  742.  
  743.            RF? Beats me. I think it goes in the SHELL= statement. Just don't
  744.            RF? remember what character you use. I saw it mentioned in the
  745.            RF? Tech conference /K maybe?
  746.  
  747.         No, it's SWITCHES=/F, right?
  748.  
  749.                               Paul Senechko 
  750.  
  751.         Actually, its both:
  752.  
  753.             /W allows you to move the WINA20.386 file
  754.             /K makes your AT Keyboard act like a XT
  755.             /F Disables the wait
  756.             /N Disables F5/F8 exiting
  757.  
  758.         and to use any just put the command SWITCHES= and the parameters
  759.         on the first line of your config.sys (Can go on other lines, but for
  760.         the /F and /N you need it at the first line....), also the Switches
  761.         command IS compatible w/ DOS 5, but only using the /W & /K options
  762.  
  763.                               John Guillory
  764.  
  765. ===============================================================================
  766. 10) FOR IN DO
  767.  
  768.           for %%z in (test1 test2 test3) do goto %%z
  769.           goto end
  770.           :test1
  771.           echo test1
  772.           :test2
  773.           echo test2
  774.           :test3
  775.           echo test3
  776.           :end
  777.  
  778.      When I posted this explaining the traps and pitfalls
  779.      of FOR IN DO, something got lost. GOTO commands in FOR IN DO
  780.      statements do not work correctly / as expected. This fragment
  781.      will work in 4DOS, but not with COMMAND.COM. You've seen
  782.      what happens when running under COMMAND.COM already. 4DOS
  783.      will display test1 test2 test3.
  784.  
  785.      So, that's what I was trying to explain: that GOTO's don't work
  786.      right, and that IF's will break FOR IN DO's.
  787.  
  788.                               Bill George
  789. ===============================================================================
  790.  
  791. ... Any sufficiently advanced bug will become a feature.
  792. ___ Blue Wave/QWK v2.12
  793.  
  794. -!- EzyQwk V1.02
  795.  ! Origin: Programmer's Corner BBS, Saint John, NB  (v32/v42) (1:255/6)
  796.  
  797. ─ Area: [ECHO] BATCH POWER PROG. ─────────────────────────────────────────────
  798.   Msg#: 4975                                         Date: 09-12-93  20:32
  799.   From: Gary Cooper                                  Read: Yes    Replied: No 
  800.     To: ALL                                          Mark:                     
  801.   Subj: MUF Ver. 1.6 #9
  802. ──────────────────────────────────────────────────────────────────────────────
  803. 11) FOR %%V IN /SOMETHING
  804.  
  805.     ... quoting Dirk Treusch to All ...
  806.  
  807.     How can a batch file (without 4DOS) determine from which drive it has
  808.     been started?
  809.  
  810.     Example: C:\> a:test.bat
  811.  
  812.     Now my batch should be able to find out that it is located on drive A:
  813.     (not the path - only drive!).
  814.  
  815.     Mitch Ames responds:
  816.  
  817.     The variable %0 contains the name of the batch file
  818.     _as_it_was_typed_at_the_command_line.  If you call the batch file as
  819.     A:TEST.BAT, %0 will be "A:TEST.BAT".  If you have the directory on
  820.     your path, and simply type TEST, then %0 will be "TEST".  The drive,
  821.     path and extension will only appear in %0 if you enter them in the
  822.     command used to call the batch file (either typed at the command
  823.     line, or called from another batch file).
  824.  
  825.     So you _must_ specify the drive as part of the batch filename for
  826.     this to work.  To extract the drive only, use STRINGS, or similar (I
  827.     don't have a copy, so don't ask me to post it).  Alternatively use
  828.     the undocumented FOR %%V in /SOMETHING command, eg:
  829.  
  830.           set drive=
  831.           for %%v in (/%0) do call test2 %%v
  832.           echo Calling drive is %drive%
  833.  
  834.     where TEST2.BAT is:
  835.  
  836.           if not '%drive%'=='' set drive=%1:
  837.  
  838.     Disclaimer - I haven't tested this.  Debugging is up to you.
  839.  
  840.     (You can, of course, fit this into a single recursive batch file -
  841.     but that's left as an exercise for the student.)
  842.  
  843.     FOR %%V IN (/SOMETHING) DO WHATEVER will do WHATEVER twice - the
  844.     first time with %%V set to the first character in SOMETHING ("S"),
  845.     the second time with all the remaining characters in SOMETHING
  846.     ("OMETHING").  If SOMETHING is only a single character, WHATEVER will
  847.     only be called once, with that character in %%V.  If the single
  848.     character is a wildcard (? or *) that wild card will _not_ be
  849.     expanded to a set of filenames.  (The main purpose of this feature is
  850.     apparently to allow inclusion of the literal characters "?" and "*" 
  851.     without them being expanded.)
  852.  
  853.     This works in DOS 3.30 and 5 - I don't know about other versions.
  854.  
  855.                               Mitch Ames
  856.  
  857. ===============================================================================
  858. 12) LEADING SLASH WITH FOR IN DO LOOP
  859.  
  860.     In the FOR statement in the INIT and COUNT routines below the
  861.     parameters in the () show a leading "/".  This seems to separate
  862.     the first digit of the environmental variable used within the
  863.     brackets ().  Am I correct? Is this documented anywhere?
  864.  
  865.     :================= INIT =================
  866.     set &=%4&|set n$=%4|set m$=%3|set #=%2|set !=%0
  867.     if not '%m$%'=='0' for %%a in (/%m$%z) do if '%%a'=='0' set @=0
  868.     %!%
  869.     :================= COUNT ================
  870.     if '%&%'=='&' goto PROCESS
  871.     for %%a in (/%&%) do set &=%%a
  872.  
  873.                               Peter Joynson
  874.       
  875.     I have read some articles about this in PC Computing & PC Magazine.
  876.     I don't believe it is documented anywhere but you're right, it strips
  877.     off the first character of whatever string is passed.  I will try to
  878.     find one of the articles that explains it better if you need it.
  879.  
  880.                               Robert Hupf
  881.  
  882.     Correct.  I believe it is not documented (up to DOS 5 anyway) by MS,
  883.     but I have read from other sources that the leading / will split an
  884.     item into the first character and everything else.  Eg:
  885.  
  886.             for %%n in (/hello there) do echo %%n
  887.  
  888.     will display "h", "ello" and "there".  "There" is not split because
  889.     it is a separate item, delimited by the space.  If used with an item
  890.     including wildcard (? or *) characters the item will not be expanded
  891.     to the files which match it, thus allowing inclusion of those
  892.     characters in the set.  Eg:
  893.  
  894.             for %%n in (/? /*.bat hello) do echo %%n
  895.  
  896.     will display "?", "*", ".bat", "hello".  This apparently is the
  897.     original reason for the feature, but it may also be used recursively
  898.     to parse a string one character at a time.
  899.  
  900.                               Mitch Ames
  901. ===============================================================================
  902.  
  903. ... Features should be discovered, not documented.
  904. ___ Blue Wave/QWK v2.12
  905.  
  906. -!- EzyQwk V1.02
  907.  ! Origin: Programmer's Corner BBS, Saint John, NB  (v32/v42) (1:255/6)
  908.  
  909. ─ Area: [ECHO] BATCH POWER PROG. ─────────────────────────────────────────────
  910.   Msg#: 4976                                         Date: 09-12-93  20:34
  911.   From: Gary Cooper                                  Read: Yes    Replied: No 
  912.     To: ALL                                          Mark:                     
  913.   Subj: MUF Ver. 1.6 #10
  914. ──────────────────────────────────────────────────────────────────────────────
  915. 13)  ATTRIB
  916.  
  917.     ATTRIB +h dirname
  918.  
  919.     Is there anyway to create a hidden directory on a hard drive?
  920.  
  921.     I've since learned that DOS 5.0 ATTRIB can do the same thing
  922.     from the command line:  ATTRIB +h dirname.
  923.  
  924.                               Gary Smith
  925.  
  926.     ATTRIB ,
  927.  
  928.     attrib ,|echo y|del *.*
  929.  
  930.     It is not really piping the output of attrib to echo.  Using the pipe
  931.     is one way of stacking multiple commands on one line.  All the "attrib ,"
  932.     does is reset _ALL_ attributes on _ALL_ files in the current directory.
  933.     So if you were to run that from the root of your c: drive you would no
  934.     longer have a bootable drive.
  935.  
  936.                               Jim Banghart
  937.  
  938.     Worked fine here, took out all the files (system, hidden, read-only),
  939.     like a dream with no lock up, using MSDos 5.0
  940.  
  941.                               Terry Kreft
  942.  
  943.     I do not recommend this practice. It does attempt to pipe the output
  944.     of attrib to echo, and thus writes a file to the directory specified
  945.     by the environment variable TEMP. If you try to run this program in
  946.     your TEMP directory, you will get a sharing violation. It also
  947.     actually slows your program, because it has to write and delete a
  948.     useless file (unless you have your TEMP on a ramdisk).
  949.  
  950.     I can't say I see much reason for stacking commands like this -- put
  951.     the commands on separate lines. A character is a character, be it a
  952.     carriage return or a pipe, and your files will be easier to understand.
  953.  
  954.                               Bruce Bowman
  955. ===============================================================================
  956. 14) INSTALLHIGH
  957.  
  958.     I think I may have found an undocumented feature for DOS 6....
  959.     I wasn't able to find this anywhere in the online help.  It's
  960.     called INSTALLHIGH= and amazingly enough it works just like
  961.     INSTALL= but loads the file high!
  962.  
  963.     The only drawback to this is: Memmaker will not go through and
  964.     add switches for that particular line during the "optimizing
  965.     process".  It just takes it as it is currently.  But then again
  966.     INSTALL= is ignored too!
  967.  
  968.     Example:
  969.     DEVICE=C:\DOS\HIMEM.SYS
  970.     DEVICE=C:\DOS\EMM386.EXE NOEMS HIGHSCAN WIN=F500-F7FF WIN=F200-F4FF
  971.     dos=HIGH
  972.     dos=UMB
  973.     installhigh=c:\dos\share.exe
  974.  
  975.                               Robin Francis
  976.  
  977.     MUF reported in the magazine C'T:  You can use the DOS 6.0 command
  978.     "installhigh" in config.sys to load TSR programs into UMA. A 48 byte
  979.     environment will be added for every program.  If you use it you don't
  980.     need the "loadhigh" in autoexec.bat any more.
  981.  
  982.     But Memmaker can't handle installhigh!
  983.  
  984.                               Thomas Erbe
  985.  
  986.     Further to Robins explanation, INSTALLHIGH cannot be directed to a
  987.     specific UMB area and thus defaults to largest currently available.
  988.     Like INSTALL it is processed (about) last of C.SYS lines and causes
  989.     more consumed RAM overhead than calling TSR from A.BAT or later.
  990.  
  991.                               Richard Pade
  992.  
  993.     There is an undocumented CONFIG.SYS command called INSTALLHIGH. It
  994.     is similar to INSTALL except that it will load the TSR into an UMB.
  995.     It is available under DOS 6. However, it does not support the
  996.     /L and /S switches that DEVICEHIGH and LOADHIGH support.
  997.  
  998.                               Tom Dyas
  999.  
  1000.     Then it is useless, isn't it? It has less than the capabilities of
  1001.     LOADHIGH and DEVICEHIGH but load the same TSRs that they load ... no
  1002.     wonder it is an undocumented command.
  1003.  
  1004.                               Wayne Moses
  1005.  
  1006.     Just wondering, does INSTALLHIGH work with Microsoft DOS 5? It
  1007.     would also be nice to know why it is undocumented. It doesn't do
  1008.     anything major! Microsoft gains nothing by keeping it undocumented.
  1009.     Loading TSR's from CONFIG.SYS is better because an environment is
  1010.     not allocated for the TSR. A very small amount of memory is
  1011.     conserved, but it is still conserved.
  1012.  
  1013.                               Tom Dyas
  1014. ===============================================================================
  1015.  
  1016. ... DOS 6.0 - DOS 4.01 with its features documented.
  1017. ___ Blue Wave/QWK v2.12
  1018.  
  1019. -!- EzyQwk V1.02
  1020.  ! Origin: Programmer's Corner BBS, Saint John, NB  (v32/v42) (1:255/6)
  1021.  
  1022. ─ Area: [ECHO] BATCH POWER PROG. ─────────────────────────────────────────────
  1023.   Msg#: 4977                                         Date: 09-12-93  20:35
  1024.   From: Gary Cooper                                  Read: Yes    Replied: No 
  1025.     To: ALL                                          Mark:                     
  1026.   Subj: MUF Ver. 1.6 #11
  1027. ──────────────────────────────────────────────────────────────────────────────
  1028. 15) : (command)
  1029.  
  1030.     DOS uses a leading : to indicate a label.  If the next character
  1031.     following the : is a space or other non-alphanumeric char, DOS
  1032.     will decide it's an invalid label and skip to the next line,
  1033.     performing no further action.
  1034.  
  1035.                               Dennis Mccunney
  1036. ===============================================================================
  1037. 16) PATH
  1038.  
  1039.     With MS-Dos 6.0 you CAN exceed the normal path length limit by
  1040.     putting a "Set Path=C:\;..." in your Config.Sys file instead of
  1041.     your AutoExec.Bat file.  The usual limits do not apply there.
  1042.  
  1043.     I have put in a path well over 800 characters and it works fine.
  1044.     The path doesn't display correctly via PATH or SET, but it's in
  1045.     there and it all gets searched.
  1046.  
  1047.     I don't recommend having a path that long, mine is normally
  1048.     only 6-8 directories.
  1049.  
  1050.                               Andrew Barnhardt
  1051. ===============================================================================
  1052. 17) EDLIN
  1053.  
  1054.     where an EDLIN script is:
  1055.  
  1056.            -1,#r 1:^Z  1:
  1057.            -1,#r 2:^Z  2:
  1058.            -1,#r 3:^Z  3:
  1059.            -1,#r 4:^Z  4:
  1060.            -1,#r 5:^Z  5:
  1061.            -1,#r 6:^Z  6:
  1062.            -1,#r 7:^Z  7:
  1063.            -1,#r 8:^Z  8:
  1064.            -1,#r 9:^Z  9:
  1065.            e
  1066.  
  1067.     Note the spaces (one after R, two after ^Z) which prevent replacement
  1068.     of the second digit in a two digit number.
  1069.  
  1070.     This will update the last line only, so needs to be done at each
  1071.     boot.  '#' means last line +1. '-1' means the line before the current
  1072.     one (ie: the last line of the file, if "#" is the current line).  Note
  1073.     that you can only use '-1' in later versions (it works in 5, but not
  1074.     in 3.30 as far as I know).
  1075.  
  1076.                               Mitch Ames
  1077. ===============================================================================
  1078. 18) DELIMITING CHARACTER:
  1079.  
  1080.     Prior to DOS 5.0, there was an undocumented DOS function that
  1081.     would allow you to set the DOS option delimiting character to
  1082.     something else, like -.  Once you did this, you could use either
  1083.     \ *or* / in PATH specs.
  1084.  
  1085.     DOS 5.0 removed the function to *set* the option delimiter, but
  1086.     *retained* the one to query what it currently is!  (Don't ask me,
  1087.     ask M'Soft...)  Fortunately, the MKS Toolkit still works with no
  1088.     apparent glitches.
  1089.  
  1090.     I believe in pre-DOS 3.X versions that there was a parm you could
  1091.     provide in CONFIG.SYS to do this, but have no further details.
  1092.  
  1093.     Just remember: "undocumented" is a synonym for "unsupported, and
  1094.     not guaranteed to be there next release", which is what happened
  1095.     in the case I mentioned above.
  1096.  
  1097.                               Dennis Mccunney
  1098. ===============================================================================
  1099. 19) REM IN LINES WITH PIPES OR REDIRECTS
  1100.  
  1101.     ie:    REM echo y | del *.*
  1102.  
  1103.     Michael Serber reported that he encountered problems when
  1104.     he tried to REM out an "echo y|del *.*" line in his batch
  1105.     file.  Here is the content of some of the responses he 
  1106.     received in response to his question asking why he experienced
  1107.     the problem:
  1108.  
  1109.     It (the problem) appears to only occur if there is a pipe or
  1110.     redirection in the line (REM'd out), leading me to believe that
  1111.     DOS first handles pipes and redirections, then goes back to
  1112.     find out what to do with them.
  1113.  
  1114.                               John Mudge
  1115.  
  1116.     It's actually doing what it thinks you've told it: piping the
  1117.     output of REM to DEL.  Since REM _has_ no output (remember
  1118.     REM > NULLFILE?), DEL hangs, waiting for the answer to its
  1119.     question.
  1120.  
  1121.                               Gary Smith
  1122.  
  1123.     What is happening here is that DOS reads the entire line, and
  1124.     always processes redirection and piping *first*, regardless of
  1125.     where they happen to appear.
  1126.  
  1127.                               Dennis Mccunney
  1128. ===============================================================================
  1129.  
  1130. ... That's not a bug! It's a seldom-used, undocumented feature!
  1131. ___ Blue Wave/QWK v2.12
  1132.  
  1133. -!- EzyQwk V1.02
  1134.  ! Origin: Programmer's Corner BBS, Saint John, NB  (v32/v42) (1:255/6)
  1135.  
  1136. ─ Area: [ECHO] BATCH POWER PROG. ─────────────────────────────────────────────
  1137.   Msg#: 4978                                         Date: 09-12-93  20:38
  1138.   From: Gary Cooper                                  Read: Yes    Replied: No 
  1139.     To: ALL                                          Mark:                     
  1140.   Subj: MUF Ver. 1.6 #12
  1141. ──────────────────────────────────────────────────────────────────────────────
  1142. 20) CALL
  1143.  
  1144.     The DOS 5.0 manual, in the command reference for CALL, states:
  1145.  
  1146.     Syntax: call [drive:][path]filename [batch-parameters]
  1147.  
  1148.             Parameters [drive:][path]filename
  1149.  
  1150.             Specifies the name and location of the batch program you
  1151.             want to call.  Filename must have a .BAT extension.
  1152.  
  1153.             The latter sentence is not true in DOS 5.0.  CALL works
  1154.             equally well whether "filename" is a .BAT, .COM, or .EXE
  1155.             file, or even internal command the following all work
  1156.             just fine:
  1157.  
  1158.             call dir
  1159.             call mem
  1160.             call tree
  1161.             call echo Phhhhhhht!
  1162.  
  1163.                               Gary Smith
  1164.  
  1165. ===============================================================================
  1166. 21) CHOICE
  1167.  
  1168.     I blundered onto an interesting choice.com feature:
  1169.  
  1170.         CHOICE /C:XM*; /N /T:2,5
  1171.         if errorlevel=4 goto help
  1172.         if errorlevel=3 goto end
  1173.         ......etc
  1174.  
  1175.         The "*" is the escape key, and the ";" is F1 etc.
  1176.  
  1177.                               Robert Lindsay
  1178.  
  1179. ===============================================================================
  1180. 22) MEM /A
  1181.  
  1182.     If you do a MEM /A it'll give you details of what's in the first meg
  1183.     of memory.
  1184.  
  1185.     Windoze owners get MSD.EXE (a pretty undocumented utility), that tells
  1186.     you this sort of thing.  If you do a MEM /A it'll give you details of
  1187.     what's in the first meg of memory.
  1188.  
  1189.                               Ben Davis
  1190.  
  1191. ===============================================================================
  1192. 23) MOUSE /U
  1193.  
  1194.     Microsoft mouse driver version 8.1 has a /U switch.  Adding that switch
  1195.     loads all but 3.3k of the driver into HMA.  It's not quite the most
  1196.     recent version mouse driver, but hey, a mouse driver is a mouse driver
  1197.     is a mouse driver, right?  Especially when it only takes 3.3k of ram!
  1198.  
  1199.                               Mark Carter
  1200.  
  1201.     Are you getting that result by loading the mouse driver high on a 286?
  1202.     If so, that is good news. Mine takes up 12k of main RAM (MS mouse
  1203.     driver ver. 7.0).
  1204.  
  1205.                               Gerry Pareja
  1206.  
  1207.     Mouse 8.0 _is_ able to load itself into HMA (I think) on a 286 by using
  1208.     the undocumented /U switch. I read it in PC Magazine sometime back.
  1209.     Also, PC Mag said that the BUFFERS have to be set to a low value, e.g. 5.
  1210.  
  1211.                                Ng Cheng Kiang
  1212. ===============================================================================
  1213.  
  1214. ... All On-Line readers, press the un-documented ALT-H combination now...
  1215. ___ Blue Wave/QWK v2.12
  1216.  
  1217. -!- EzyQwk V1.02
  1218.  ! Origin: Programmer's Corner BBS, Saint John, NB  (v32/v42) (1:255/6)
  1219.  
  1220. ─ Area: [ECHO] BATCH POWER PROG. ─────────────────────────────────────────────
  1221.   Msg#: 4979                                         Date: 09-12-93  20:40
  1222.   From: Gary Cooper                                  Read: Yes    Replied: No 
  1223.     To: ALL                                          Mark:                     
  1224.   Subj: MUF Ver. 1.6 #13
  1225. ──────────────────────────────────────────────────────────────────────────────
  1226. 24) %0
  1227.  
  1228.     Note that %0 is (almost) always defined as the name of the batch file
  1229.     itself (including drive\directory as typed at the command line).  The
  1230.     only time %0 is not defined is in Autoexec.bat when run by
  1231.     Command.com at boot time (or command/p).
  1232.  
  1233.                               Mitch Ames
  1234.  
  1235.     The %0 parameter is the name of the program.  But wait, there's
  1236.     more.  If you want to test for the name of the program you are in!
  1237.     What do your want to test for?
  1238.  
  1239.     One time you type "edit", another you type "EDIT", another "EDIT.BAT",
  1240.     another "C:EDIT.BAT", and another "C:\BELFRY\EDIT.BAT".  How many
  1241.     combinations do you want to test for at the start of your batch file?
  1242.  
  1243.     You can map the file name to upper case and take care of some of the
  1244.     problem as follows:
  1245.  
  1246.         SET SAVEPATH=%PATH%
  1247.         PATH %0
  1248.         SET PROGNAME=%PATH%
  1249.         PATH %SAVEPATH%
  1250.         SET SAVEPATH=
  1251.  
  1252.     To do the test, something like this might work:
  1253.  
  1254.         FOR %%E IN (EDIT EDIT.BAT C:EDIT C:EDIT.BAT C:\BELFRY\EDIT ...
  1255.                ... C:\BELFRY\EDIT.BAT) DO IF '%%E'=='%PROGNAME%' GOTO HIT
  1256.         ECHO BAD COMMAND OR FILE NAME
  1257.         GOTO ENDIT
  1258.         ...
  1259.         :HIT
  1260.         REM START EXECUTION HERE....
  1261.  
  1262.      There is one last gotcha to %0.  When AUTOEXEC.BAT is run by the bootup
  1263.      sequence, %0 has no value.  This is important if you want to find out if
  1264.      you are in AUTOEXEC.BAT, and if you are in AUTOEXEC.BAT for the first
  1265.      time.
  1266.  
  1267.      I have seen this work with IBM's PC-DOS 3.10, various flavors of
  1268.      MS-DOS 3.10, 3.30, 3.31, 4.01, and 5.00.  It also seems to work
  1269.      with DR-DOS 6.0.  As to 4DOS, I have no idea, but would welcome
  1270.      feedback on the matter (although 4DOS and DR-DOS hardly qualify
  1271.      for a MUF entry....)
  1272.  
  1273.                               Mike Avery
  1274.  
  1275.     So far as I know, it's not been documented anywhere 'officially',
  1276.     but I did read about it in an article sometime back, probably
  1277.     either in PC Magazine or in PC Computing.
  1278.  
  1279.                               Gary Smith
  1280.  
  1281.     I've never seen it documented - it just bit me one day REAL HARD!
  1282.      
  1283.     Well, the way I figured it was that when the boot process hands control
  1284.     to AUTOEXEC.BAT, the normal command line interface isn't used, so %0
  1285.     never gets set.
  1286.  
  1287.                               Mike Avery
  1288.  
  1289.     This feature can actually be useful, because you can put
  1290.     statements like this in your autoexec:
  1291.  
  1292.        if NOT (%0) == () goto skip
  1293.        [statements that should not be re-executed go here]
  1294.        :skip
  1295.        [statements that can be re-executed go here]
  1296.        path ...
  1297.        set ...
  1298.        etc.
  1299.  
  1300.     Then you can recreate your bootup environment at any time by
  1301.     simply typing AUTOEXEC.
  1302.  
  1303.                               Gary Smith
  1304. ===============================================================================
  1305.  
  1306. ... Bill Gates and his search for undocumented Windows 3.1 code...
  1307. ___ Blue Wave/QWK v2.12
  1308.  
  1309. -!- EzyQwk V1.02
  1310.  ! Origin: Programmer's Corner BBS, Saint John, NB  (v32/v42) (1:255/6)
  1311.  
  1312. ─ Area: [ECHO] BATCH POWER PROG. ─────────────────────────────────────────────
  1313.   Msg#: 4980                                         Date: 09-12-93  20:44
  1314.   From: Gary Cooper                                  Read: Yes    Replied: No 
  1315.     To: ALL                                          Mark:                     
  1316.   Subj: MUF Ver. 1.6 #14
  1317. ──────────────────────────────────────────────────────────────────────────────
  1318. 25) , . ...
  1319.  
  1320. DIR,    Using a comma IMMEDIATELY after DIR, shows ALL files, including
  1321.         the HIDDEN ones.
  1322.  
  1323.         EXAMPLE: DIR,
  1324.  
  1325.                               Willem van den Broek
  1326.  
  1327.         This appears only to work with version 5.  I tried it with 3.30,
  1328.         and it didn't display either IO.SYS, MSDOS.SYS (both with S, H
  1329.         and R attribs) or a test file with A and H attribs.
  1330.  
  1331.         With version 5 it displayed the test file with H and A, but would
  1332.         not display IO.SYS or MSDOS.SYS with S, H and R.  This doesn't
  1333.         surprise me actually, since S alone (without H) will prevent
  1334.         inclusion of a file in a normal DIR.
  1335.  
  1336.         I didn't try version 4.
  1337.  
  1338.                               Mitch Ames
  1339.  
  1340.         Interesting: it does for me (display DOS5 IO.SYS and MSDOS.SYS):
  1341.         However, 4DOS does not do it:
  1342.  
  1343.                               Dennis Mccunney
  1344.  
  1345.         It was pointed out in the 4DOS echo, and there were people
  1346.         who said it didn't work for them.   But, on my machine
  1347.         running straight dos6, it works! DIR, (dir comma) in my C:\
  1348.         shows all files including hidden and system.
  1349.  
  1350.                               Bill George
  1351.  
  1352. DIR..   With DOS 6.0 you can get a directory of -all- files (hidden,
  1353.         system, etc.) with this command.
  1354.  
  1355.         It was in a PC/Mag. or PC/Comp. issue not too long ago.
  1356.  
  1357.                               Andrew Barnhardt
  1358.  
  1359.         Have you noticed also how DIR... only displays directories, not
  1360.         files?
  1361.  
  1362.                               Gary Marden
  1363.  
  1364.         That's pretty slick. I tried DIR.. and got the parent 
  1365.         directory. DIR... got the current directory subdirs only.
  1366.  
  1367.                               Bill George
  1368.  
  1369.         Works for any level of directories. ".." will go to the previous
  1370.         directory as with pure DOS, "..." will go to the directory before
  1371.         the previous and so on.
  1372.  
  1373.                               Ng Cheng Kiang
  1374.  
  1375.         In DOS 5.0 it displays directories and files with no extensions.
  1376.         I tried "DIR ...", "DIR...", and "DIR ....".  They all behave
  1377.         the same way.
  1378.  
  1379.                               Gary Smith
  1380.  
  1381.         With DOS 5.0 and NDOS 6.0 DIR... gives me a list of
  1382.         subdirectories off of the root and a list of all files in
  1383.         the root directory, regardless of the file extension.
  1384.         It will yield this result regardless of what directory / 
  1385.         subdirectory I am in at the time the command is issued.
  1386.  
  1387.                               Gary Cooper
  1388.         
  1389.         COMMAND.COM generally seems to ignore excess characters.  Try
  1390.         copying something the AIRPLANES.PLAN, for example, and see what
  1391.         happens.
  1392.  
  1393.                               Gary Smith
  1394.  
  1395.         While I was playing around with "dir ..." and trying to see how
  1396.         it parses to showing all extensionless entities in the current
  1397.         directory, I noticed that DIR doesn't care if a specified directory
  1398.         structure exists or not, as long as the overall structure points
  1399.         back to something that does exist, i.e.
  1400.  
  1401.             "dir \thisdirdoesnotexist\.."
  1402.  
  1403.         will ignore the garbage and show the root directory.  If
  1404.         c:\bat exists, then
  1405.  
  1406.             "dir c:\bat\thisdirdoesnotexist\nordoesthisone\..\.."
  1407.  
  1408.         will show the c:\bat directory.
  1409.  
  1410.         Again, absolutely useless as far as i can tell <g>, but interesting.
  1411.  
  1412.         BTW, has anybody solved the "dir ..." mystery yet?  I also noticed
  1413.         "dir \..." works while "dir \bat\..." fails (any explicitly specified
  1414.         directory other than the root generates an "invalid directory"
  1415.         message).
  1416.  
  1417.                               Paul Leonard
  1418. ===============================================================================
  1419.  
  1420. ... WOMAN.ZIP....Great program, no documentation! 
  1421. ___ Blue Wave/QWK v2.12
  1422.  
  1423. -!- EzyQwk V1.02
  1424.  ! Origin: Programmer's Corner BBS, Saint John, NB  (v32/v42) (1:255/6)
  1425.  
  1426. ─ Area: [ECHO] BATCH POWER PROG. ─────────────────────────────────────────────
  1427.   Msg#: 4981                                         Date: 09-12-93  20:48
  1428.   From: Gary Cooper                                  Read: Yes    Replied: No 
  1429.     To: ALL                                          Mark:                     
  1430.   Subj: MUF Ver. 1.6 #15
  1431. ──────────────────────────────────────────────────────────────────────────────
  1432. 26) COPY. A:
  1433.  
  1434.     The use of a decimal point IMMEDIATELY after some DOS statements,
  1435.     will replace *.*
  1436.  
  1437.     EXAMPLES: DEL.       (erase all files in current directory)
  1438.               COPY. A:   (copy all files in current directory to A:)
  1439.  
  1440.     There may be more statements with which it works, but I haven't
  1441.     tried them yet.
  1442.  
  1443.                               Willem van den Broek
  1444.  
  1445.     "." means the current directory, and Command.com will assume that
  1446.     \directory implies \directory\*.* for most commands where a
  1447.     filename(s) should be specified, eg:
  1448.  
  1449.     DIR \ is the same as DIR \*.*
  1450.     COPY \FRED is the same as COPY \FRED\*.*
  1451.     COPY. A:\ is the same as COPY .\*.* A:\ which is the same as COPY *.* A:\
  1452.     DEL. is the same as DEL .\*.* which is the same as DEL *.*
  1453.  
  1454.                               Mitch Ames
  1455.  
  1456.     Have you noticed also how DIR ... only displays directories, not files?
  1457.  
  1458.                               Gary Marden
  1459.  
  1460.     In DOS 5.0 it displays directories and files with no extensions.
  1461.     I tried "DIR ...", "DIR...", and "DIR ....".  They all behave
  1462.     the same way.
  1463.  
  1464.                               Gary Smith
  1465.  
  1466.     Another good thing is you can travel from directories to
  1467.     directories without typing "CD".  Just type the directory name
  1468.     followed by a backslash '\'.
  1469.  
  1470.     Example: To go from C:\BATCH to C:\WP51, you type "\wp51\".
  1471.     That's it!  fast and easy.
  1472.  
  1473.                               Marc Y. Paulin
  1474.  
  1475.     If you are in the following directory :
  1476.  
  1477.         \WORD\FILES\LETTERS\APRIL
  1478.  
  1479.     And wanted to go to the directory \WORD\FILES, you'd normally 
  1480.     type two lines : 
  1481.  
  1482.          CD \
  1483.          CD WORD\FILES
  1484.  
  1485.     Or even the single line "CD \WORD\FILES" to combine the two 
  1486.     commands into one. There is a shorter way, simply type the 
  1487.     following : CD ..\..     You're there !
  1488.  
  1489.                               Andrew Barnhardt
  1490.            
  1491.     In DOS 5.0, it displays files and directories which have no extension.
  1492.  
  1493.                               Larry Kessler
  1494.  
  1495.     On this machine with DOS 5.0 and NDOS 6.0 DIR... gives me a list of
  1496.     subdirectories off of the root and a list of all files in the root
  1497.     directory, regardless of the file extension.  It will yield this result
  1498.     regardless of what directory/subdirectory I am in at the time the command
  1499.     is issued.
  1500.  
  1501.                               Gary Cooper
  1502.  
  1503.     Editor's Note:
  1504.  
  1505.     I admit that "features" in the last two MUFs may be documented
  1506.     (although obscure feature), the reason that it continues to be
  1507.     seen in the MUF list is because I believe that the ability to use
  1508.     the period immediately IE: COPY. is not documented.  What is
  1509.     documented is the fact that "." and ".." can be used to represent
  1510.     the current and parent directories respectively, and these will work
  1511.     with many applications which can handle directory names as arguments.
  1512.     In this case the "." could also be viewed as a replacement for "*.*"
  1513.  
  1514. ===============================================================================
  1515.  
  1516. ... Documentation - The worst part of programming.
  1517. ___ Blue Wave/QWK v2.12
  1518.  
  1519. -!- EzyQwk V1.02
  1520.  ! Origin: Programmer's Corner BBS, Saint John, NB  (v32/v42) (1:255/6)
  1521.  
  1522. ─ Area: [ECHO] BATCH POWER PROG. ─────────────────────────────────────────────
  1523.   Msg#: 4982                                         Date: 09-12-93  20:49
  1524.   From: Gary Cooper                                  Read: Yes    Replied: No 
  1525.     To: ALL                                          Mark:                     
  1526.   Subj: MUF Ver. 1.6 #16
  1527. ──────────────────────────────────────────────────────────────────────────────
  1528. 27) MULTIPLE DOS COMMANDS ON ONE LINE
  1529.  
  1530.     set &=%4&|set n$=%4|set m$=%3|set #=%2|set !=%0 
  1531.             /|\       /|\       /|\      /|\ 
  1532.              |_________|_________|________|_________________________Separators
  1533.  
  1534.  
  1535.     The separators (|) used in the line, are these doing anything
  1536.     other than separating commands?  Can this be used for entering multiple
  1537.     commands on any line in a batch file regardless of type of command?
  1538.  
  1539.                               Peter Joynson
  1540.  
  1541.     I believe you are right about this, but I think it pipes any output from
  1542.     the previous command to the next one (your example doesn't have any
  1543.     output.  For example: ECHO Y|ERASE *.*  This would pipe the Y to the
  1544.     command ERASE *.* so you wouldn't have to enter the Y for the "Are you
  1545.     sure" prompt.
  1546.  
  1547.                               Robert Hupf
  1548.  
  1549.     The | is a pipe symbol, well documented in your DOS manual.  (Read it
  1550.     before you read the rest of this message if you don't know about
  1551.     pipes already, otherwise the rest won't make sense.)  Pipes can be
  1552.     used to put multiple commands on a single line, provided that the
  1553.     first command does not write anything to StdOout which might cause a
  1554.     problem when read by the second command as StdIn. Also, it is assumed
  1555.     that you don't want to see the output of any but the last command,
  1556.     since each command's output will be piped to the next's input.  Note
  1557.     that in this case SET neither writes anything to StdOut nor reads
  1558.     StdIn.  Thirdly, you must have write access to the current drive, or
  1559.     %temp% if defined, since a pipe always creates a temporary file.  Eg
  1560.     this would not work if run from a write protected floppy (unless
  1561.     %temp% was defined), since DOS would fail to create the temporary
  1562.     files.
  1563.  
  1564.     Pipes create temporary files even if no actual data is sent to
  1565.     StdOut because Command effectively treats this:
  1566.  
  1567.             prog1 | prog2
  1568.  
  1569.     as something like this:
  1570.  
  1571.             prog1 > %temp%tempfile
  1572.             prog2 < %temp%tempfile
  1573.             del %temp%tempfile
  1574.  
  1575.     Even if prog1 doesn't create any output, at least one zero length
  1576.     file is created.  To demonstrate, try this
  1577.  
  1578.             set temp=
  1579.             set | dir
  1580.  
  1581.     I must say this beats the usual boring old "how do I echo a blank
  1582.     line in a batch file" etc.
  1583.  
  1584.                               Mitch Ames
  1585.  
  1586. ===============================================================================
  1587. 28) COM or EXE
  1588.  
  1589.     Also, have you noticed that 4DOS.COM (when viewed with LIST) begins
  1590.     with the letters "MZ"?  Isn't that the mark of a .EXE file?  Very
  1591.     interesting...
  1592.  
  1593.                               Thomas Smith
  1594.  
  1595.     It sure is, and that's an example of something else that may be
  1596.     a MUF.  DOS doesn't care whether the extension on an executable
  1597.     file is .COM or .EXE.  It looks at the beginning of the file and
  1598.     does the right thing according to what it finds.
  1599.  
  1600.                               Gary Smith
  1601.  
  1602. ===============================================================================
  1603.  
  1604. ... Real users don't read documentation.
  1605. ___ Blue Wave/QWK v2.12
  1606.  
  1607. -!- EzyQwk V1.02
  1608.  ! Origin: Programmer's Corner BBS, Saint John, NB  (v32/v42) (1:255/6)
  1609.  
  1610. ─ Area: [ECHO] BATCH POWER PROG. ─────────────────────────────────────────────
  1611.   Msg#: 4983                                         Date: 09-12-93  20:51
  1612.   From: Gary Cooper                                  Read: Yes    Replied: No 
  1613.     To: ALL                                          Mark:                     
  1614.   Subj: MUF Ver. 1.6 #17
  1615. ──────────────────────────────────────────────────────────────────────────────
  1616. Editor's Note:
  1617.  
  1618. Technically the following information is NOT a MUF, but is included
  1619. here due to the fact that it may help save someone a lot of grief!
  1620. Similar to advising others not to use delayed cache writes and DOS
  1621. 6.0's DoubleSpace.
  1622.  
  1623. 29) CHKDSK
  1624.  
  1625.     Can you tell me the _date_ of the BAD CHKDSK?  I live in
  1626.     fear of it as I mainly work on other peoples computers an I
  1627.     have no way of telling if I will destroy their HD with a
  1628.     simple chkdsk command!
  1629.  
  1630.                               Wallace Mcgee
  1631.  
  1632.     The only problem with CHKDSK is with large partitions where DOS uses
  1633.     a 256-sector FAT. Specifically with partition sizes in the ranges of:
  1634.  
  1635.         127MB-129MB
  1636.         254MB-258MB
  1637.         508MB-516MB
  1638.         1018MB-1030MB
  1639.         2035MB-2061MB
  1640.  
  1641.     The date of the CHKDSK that has that problem is 04/09/91. The
  1642.     replacement being dated 11/11/91.
  1643.  
  1644.     UNDELETE has the same problem for the same reason.
  1645.  
  1646.     Bottom line is - if you don't have partitions in these size ranges -
  1647.     you don't have a problem.
  1648.  
  1649.     The corrected versions can be had by downloading from the MS BBS.
  1650.     Probably also available off of CompuServ. The file to look for is:
  1651.     PD0464.EXE. The phone number for the MS BBS is (206) 936-6735.
  1652.  
  1653.     Hope that helps you and others with the same question.
  1654.  
  1655.                               Steve Osterday
  1656.  
  1657. ===============================================================================
  1658. 30) DELTREE
  1659.  
  1660.     Another new, and potentially dangerous, feature of IBM DOS v6.01.
  1661.     If you were on drive C: and issued the command:
  1662.  
  1663.     DELTREE /Y \
  1664.  
  1665.     it would dutifully, and without stopping to ask for verification,
  1666.     delete your entire drive C:!
  1667.  
  1668.     (You can test it on a floppy with directories, subdirectories,
  1669.     and files scattered throughout ... just make sure you specify
  1670.     and/or are on that drive (disk) when issuing the above command).
  1671.  
  1672.                               Vernon Frazee
  1673. ===============================================================================
  1674. Well folks, that's it for Vol.1 #6
  1675.  
  1676. Please forward any information about other Fabulous MUFs to Gary Cooper
  1677. in the FidoNet BatPower echo or at the addresses below.
  1678.  
  1679. Gary Cooper, Co-Sysop Programmer's Corner FidoNet 1:255/6.0
  1680. gary.cooper.@f6.n255.z1.fidonet.org
  1681.  
  1682. Thanks!  Till next time, we return you to your regularly scheduled
  1683. BatPower program . . .
  1684.  
  1685. ... Damn the documentation, full speed ahead!
  1686. ___ Blue Wave/QWK v2.12
  1687.  
  1688. -!- EzyQwk V1.02
  1689.  ! Origin: Programmer's Corner BBS, Saint John, NB  (v32/v42) (1:255/6)
  1690.