

 ------------------------------------------------------------

                Welcome to LDOS utility package V1.01 

 -------------------------------------------------------------
 
 --------
 Contents
 --------

 1. What's LDOS utility package
 2. What's New
 3. Limitation
 4. Examples & Descriptions
    I.   LCD.EXE
    III. LDIR.EXE
    III. LCP.EXE (LMV.EXE,LEN.EXE)
 5. Notes about command-line arguments
 6. Concluding 

 ------------------------------
 1. What's LDOS utility package
 ------------------------------
 Longname DOS is a FREE solution to handle LFNs(Long File Names)
 in pure DOS or a DOS box under Windows. It provides nearly full
 compatibility with DOS command, but also adds useful new features.
 It can cd/dir/copy/move/rename files according to multiple wildcard
 patterns. Path may contain multi-wildcards as well as filename.
 
 LCD.EXE    Changes the current directory.
 LDIR.EXE   List files and subdirectories in one or more directories.
 LCP.EXE    Copies one or more files to another location.
 LMV.EXE    Moves one or more files and directories.
 LREN.EXE   Renames one or more files and directories.

 -------------
 2. What's New
 -------------
 (1) Support LFNs(Long File Names) in DOS real mode.
     Support chinese display and input as chinese mainland GBK
     unicode translater is builtin. If create chinese filename
     by LDOS utilities, it will be stored in unicode format.
     
 (2) Multiple wildcards can be used to match path and file name.

     eg.  LCD \m*\b*\o*\f* 
          - change to directory \My documents\brittany\october\first

          LDIR \m*d*\*\*\f*st\*.doc
          LDIR \m*\b*\o*\f*\*.doc
          - list the files under \My documents\brittany\october\first

          LCP  C:\m*d*\*\*\f*st\*.doc  C:\m*\b*\o*\s*\
          - copy the files under \My documents\brittany\october\first
            to the new location \My documents\brittany\october\second

          LMV  C:\m*\b*\o*\f*\*.doc  C:\m*\b*\o*\s*\
          - move the files under \My documents\brittany\october\first
            to the new location \My documents\brittany\october\second

 (3) New wildcard '**' is introduced to enhence '*' for matching any
     characters include path delimiter '\'. 

     eg.  LCD \m**first 
          - change to directory \My documents\brittany\october\first

          LDIR \m**first
          - list the files under \My documents\brittany\october\first

          LCP  \m**first  \m*\b*\o*\second\
          - copy the files under \My documents\brittany\october\first
            to the new location \My documents\brittany\october\second

          LMV  \m**first  \m*\*\*\second\
          - move the files under \My documents\brittany\october\first
            to the new location \My documents\brittany\october\second

 -------------
 3. Limitation
 -------------

 Only support local harddisk, flopydisk.
 Only support Fat12, Fat16, Fat32 file system.

 --------------------------
 4. Examples & Descriptions
 --------------------------

 This package support absolute and relative path name.
 The examples below use absolute path name to be better understood.
 The examples mostly demonstrate how to use the new feature.

 Recommend the new user use option '-I' and answer [Skip] to preview
 the results of LCP and LMV. As you may not familiar with the usage
 of multiple wildcards combination match.
 

 I. LCD.EXE
 ==========
    Changes the current directory.

    Usage
    -----  
    LCD [options][drive:][path]

        options: -?    Display help message.


    Examples
    --------
    LCD "\Windows\All Users\Start Menu\Programs"
    LCD \w*\a*\s*\p*                            
    LCD \w*d*\**grams
    LCD \w**programs 


    Remarks
    -------
    Performs matching without case sensitivity.


 II. LDIR.EXE 
 =============
     List files and subdirectories in one or more directories.

     Usage
     -----
     LDIR [options][drive:][path][filename]

     options:  -?  Display help message.
               -W  Use wide list format.
               -P  Pause after each screenfull of information.
               -S  Displays files in specified directory and all
                   subdirectories.

     Examples
     --------
     LDIR "\My documents\Brittany\October\First\file1.doc"
     LDIR \M*\B*\O*\F*\*.doc
     LDIR \m**first\*.doc
     LDIR \m**doc
     LDIR M*\    - '\' in end of path with wildcards expand the tree


     Remarks
     -------
     Different colors distinguish varied attributes:
         Gray        - Normal short name file
         LigtGreen   - Normal long name file
         LightCyan   - Directory
         White       - Read only file 
         DarkGray    - Hidden files and directory


 III. LCP.EXE(LMV.EXE,LREN.EXE)
 ==============================
      LCP.EXE    Copies one or more files to another location.
      LMV.EXE    Moves one or more files and directories.
      LREN.EXE   Renames one or more files and directories.
     
      These three utilities are mostly the same.
      The difference listed below:
      - LCP vs LMV(LREN)

        LCP        only copy files
        LMV(LREN)  can move files and directories

        When copy files in different subdirectores to another path,
        LCP        NOT  create corresponding subdirectory in the dest
        LMV(LREN)  create corresponding subdirectory in the dest

      - LMV vs LREN
        Destination relative path start point: 
        LREN    same as source 
        LMV     starts from the current path.

        For example:
        Suppose current directory is C:\>,
        LMV  \D1\D2\TEST TEST2 - move \D1\D2\TEST to '\TEST2'
        LREN \D1\D2\TEST TEST2 - move \D1\D2\TEST to '\D1\D2\TEST2'

     
      Usage
      -----
      LCP [options] Source [Destination]
          options:  -?   Display help message.
                    -Y   Suppresses prompting to confirm you want to
                         overwrite an existing destination file.
                    -I   Causes prompting to confirm you want to
                         overwrite an existing destination file.

      LMV(LREN) [options] [drive:] Source [Destination]
          options: -?    Display help message.
                   -I	 Causes prompting to confirm you want to
                         overwrite anexisting destination file. 

    Examples ( also apply to LMV/LREN )
    --------
      LCP \w*d*\*.htm  \d1\    - copy to directory 'd1'
      LCP \w*d*\*.htm  \d*\    - copy to the FIRST matched destination
                                 path,such as 'd1'
      LCP \w**htm       \d1\    - copy specified files under
                                 subdirectories to 'd1'
      LCP \w*d*\       \d1     - invalid source path ended by '\'


    Remarks ( also apply to LMV/LREN )
    -------
    (1) Wildcards in the path help to locate the files.
        Wildcards in the filename addition to help naming
        the new files.
        
        The dest file is named according to the rules below:
        
        The first '*' in dest is substitued by the characters
        represented by the first '*' in source. The second '*'
        is substitued by the second, the third by the third, etc,
        ... to the end of the destination.
        
        The number of the '*' in source and dest can be different.
        
        '?' has the same substitution rule as '*'. But '*' in source 
        may represent zero character, in which case, NON character
        is copied to dest.

        For example:
        LCP old*.htm new*.htm           -    old.htm 
                                          => new.htm

        LCP old_*_?_?.* *_new_??.*l     -    old_one_1_6.htm
                                          => one_new_16.html

    (2) While doing wildcard matching, the long name of file will be
	tried first, if not matched then try the short name, the newly 
	created filename is derived from the matched name (long name 
	/or short name). 
	
	For example, exist a file named 'My Home Page.html' with the
	shortname 'MYHOME~1.HTM'. then,
        'LCP *.html  *.old'  => 'My Home Page.old'
        'LCP *.htm  *.old'   => 'MYHOME~1.old'

	If there is NOT any destination file pattern entered, i.e, the 
	dest name is omitted, the long name of source is used.
     
    (3) With trailing '\' in destination indicates it's a directory.
        Without trailing '\', it may be either directory or file name.

    (4) wildcard '**' DO NOT apply to destination.

 -------------------------------------
 5. Notes about command-line arguments
 -------------------------------------

 When you input the command-line arguments ended with '\"',
 it may NOT work as you want. eg. "C:\My Documents\"  

 The reason is that when '"' follows '\', '"' is NOT the termination
 of the argument, as '\' is a Escape Character in which case. 

 Thus, to make sure it works as you like, three ways can be used:
 (1) add one more '"' in the end, like '\""'.
	eg. "C:\My Doucments\""
 (2) add one or more whitespace before '"', like '\ "'.
	eg. "C:\My Documents\ "
 (3) change the back-slash to slash, like '/"'.
	eg. "C:\My Documents/"

 These alteration ways only apply to the arguments which ended '\'
 is valid:
                  utility  |  op1     |   op1    |
              -------------+----------+----------+----  
                  LCD      | valid    |  N/A     |
                  LDIR     | valid    |  N/A     | 
                  LCP      | invalid  |  valid   |
                  LMV      | valid    |  valid   |
                  LREN     | valid    |  valid   |


 -------------
 6. Concluding
 -------------
 Any comments or corrections are welcome.

 Version 1.00   Author: FuBiDan   Email: BrittanyFoo@yahoo.com.cn
 Only noncommercial distribution is allowed. All rightes reserved.

