Wir - Version 1.00
Copyright (c) 2000-2001, NBG01720@nifty.ne.jp

Abstract
~~~~~~~~
   The "wir" program lists the Windows' long file names, and it runs on DOS or 
its compatible operating systems even if it does not support Windows' long file
name.
   And on the OS/2 environments, you can set long file name to .LONGNAME 
extended attribute of your selected file(s).  You can see Windows' long file 
name from the work place shell of the OS/2 3.0 or later.


Requirement
~~~~~~~~~~~
Software:
       DOS (4.01 or later), or its compatible operating systems including the 
    DOS mode of the Windows 9x and the DOS session on the OS/2.
   
Hardware:
       IBM PC/AT, PS/2 or their compatibles.


Limitations
~~~~~~~~~~~
  * This program supports only US English (US-ASCII) character set and Japanese
    (Shift_JIS) character set.
  
  * This program does not support pending delete files on the Novell DOS and
    the OpenDOS.
  
  * This program supports only 16 bit FAT partitions.


Installation
~~~~~~~~~~~~
   Put the wir.exe which extracted under the DOS/ directory in one of the DOS 
PATH directories.  If you are not an OS/2 user, no more actions are not needed.
   If you are an OS/2 user, I recommend you to install two REXX scripts.  One is
for copying Windows' long file name to the .LONGNAME extended attribute of your
selected files.  Put both of the REXX scripts under the OS2/ director (OS/2
folder) in one of OS/2 PATH directories.
   Because the wir.cmd script calls the wir.exe which runs only on the DOS, 
from the OS/2 VIO sessions, with using the PipeDOS which made by Mr. Scott 
Maxwell.  Please install his PipeDOS program.  It will be found at 
	http://hobbes.nmsu.edu/pub/dos/ 
or its mirrors.


Usage
~~~~~
    Synopsis:
    	wir [drive:][path/][filename] [/3] [/4] [/A[adshr]] [/LFN] [/NU] 
    	    [/O[nedsg]] [/B] [/F] [/L] [/N] [/EA] [/JA] [/NEC] [/IGNSUM] [/?]
   
  * The character which is used to introduce command switches is forward slash.
    All the switches are case insensitive.  You can use forward slash and
    backward slash as a path separator, but leading slash of /path/filename
    will be miss-interpreted as an command switch.  In this case, please use
    backward slash or specify a drive letter explicitly.
  
  * All the switches except "/?" can be set the WIRCMD environment variable.
    When unknown switch is found in the WIRCMD environment variable, the wir
    will ignore it, but does not show error message.
  
  * All the switches except "/?" can be disabled by '-'.  For example, when the
    WIRCMD environment variable is "/3", type "wir /-3" to disable its effect.


drive:/path/filename
       Specifies directories and files to list.
       The characters `?' and `*' are interpreted as wild-card characters in 
    the pattern.
   
/3
       The file size field will be separated by thousands.
   
/4
       The year field of the file date will be four digit.  The default of this
    switch is on.  If you want to see two digit year, specify "/-4" (disable
    four digit year) switch.
   
/A
       Displays specified attributes.  The "/A" switch without no attributes 
    will be interpreted as "/AHSDAR".  This means wir.exe lists all the files
    including the hidden files and the system files.
       You can specify any combination of the attributes.  But don't put space
    between the attributes.  And don't specify "/A" switches twice.  If two or
    more "/A" switches are found, the wir.exe uses one latest "/A" switch only.
   
       The valid attribute values for the "/A" switch are as follows:
    
    		 H Hidden files                                      
    		-H Files except hidden files                         
    		 S System files                                      
    		-S Files except system files                         
    		 D Directories                                       
    		-D Only files (without directories)                  
    		 A Files which ready to backup                       
    		-A Files which has not been changed since last backup
    		 R Read only files                                   
   		-R Files except read only files                      
   
/LFN, /LONG, /LONGNAME
       Shows only files have Windows' long file name entry.
   
/NU
       Does not call undocumented function to determine file system type.  When
    using some compatible operating systems (for example Novell DOS 7 update 13
    or earlier), the wir.exe cannot determine the drive type collectly and you
    will get "Not a FAT16 drive" message.  Please try this switch in case of
    like this.
   
/O
       Orders the display by specified fields.
       When no fields are specified with this "/O" switch, the wir.exe will use
    "/OGNE" switch.  This means, when you specify "/O" switch without any 
    order, you will get a list of alphabetical ordered directories, and 
    alphabetical ordered files will follows.
       You can specify any combination of any orders.  But don't put space 
    between the orders.  And don't specify "/O" switches twice.  If two or more
    "/O" switches are found, the wir.exe uses one latest "/O" switch only.
   
       The valid sort order values for the "/O" switch are as follows:
    		 N Sorted by file name (w/o extension), alphabetical order 
    		-N Sorted by file name (w/o extension), descending order   
    		 E Sorted by file extension, alphabetical order            
    		-E Sorted by file extension, descending order              
    		 D Sorted by date, from old to new                         
    		-D Sorted by date, from new to old                         
    		 S Sorted by size, ascending order                         
    		-S Sorted by size, descending order                        
    		 G List directories before files                           
    		-G List directories after files                            
   
/B
       Displays file name and extension.  And if the file has Windows' long 
    file name entry, displays tab separated Windows' long file name.
   
/F
       Displays fully-qualified file names.  And if the file has Windows' long 
    file name entry, display tab separated Windows' long file name.
   
/L
       Displays directory info in lower-case.
       The Windows' long file name will not be converted to lower-case.
   
/N (This switch is available on the OS/2 environment or its DOS sessions)
       Displays listing like the new OS/2 "dir" format:
      		+ Last update date
      		+ Last update time
      		+ File size
      		+ Extended attribute size
      		+ File name, or Windows long file name if it is
   
   
/EA (This switch is available only on the OS/2 environment or its DOS sessions)
       If specified files and/or directories have Windows' long file name, the
    wir.exe will send to the wir2ea.cmd which will be executed in the
    background process to convert from Windows' long file name to the .LONGNAME
    extended attribute.
   
/IGNSUM
       Ignore wrong checksum.
   
/JA
       Enable Japanese.  If this switch is not specified, the default action is
    as follows:

    	    When current code page is 897, 932, 942 or 943:
		   Assumes "/JA".  Listing will be encoded with Shift_JIS 
		character set.  Displays question marks instead of unprintable 
		characters in file names.
    	   
    	    Otherwise:
    	           Assumes "/-JA".  Listing will be encoded with US-ASCII 
		character set only.  Displays question marks instead of 
		unprintable characters in file names.
       
       There is a limitation when using the wir.cmd on the OS/2 systems.  The 
    REXX script wir.cmd will not check the current code page.  If "/JA" or 
    "/-JA" is not specified, the default action is:

            When you type "wir" on the DOS session:
        	   Same as on DOS.  See above.
       
    	    When you type "wir" on the OS/2 VIO session:
        	   Enable if the REXX interpreter can handle double byte 
		character set.  Please specify "/-JA" explicitly on the system 
		which can handle Korean or Chinese, etc.
       
	    When you type "wir" on the terminal emulators on XFree86/OS2:
        	   Assumes "/JA" when the top of two characters of the LANG 
		environment variable is "ja (case insensitive.)"
   
/NEC
       Some PC vendors define code points for the Japanees characters which are
    not defined in Japanese Industrial Standard (JIS) JIS X0208 and X0212.  But
    NEC and IBM define different code point set.  If this "/NEC" switches is
    specified, the wir.exe uses NEC's code point set for non standard
    characters.  Default, it uses IBM's code point.  This switch is effective
    only when enabling Japanese (/JA).
   
/?
       Displays program version number, help message and copyright notice.
   
   
Source code
~~~~~~~~~~~
   I have built this program with using Japanese version of Borland C++ 3.00.  
But, because many architecture depended statements are there, I think it is 
hard to port this program to another architecture.  And some comments in source
code are written in Japanese with Shift_JIS encoding, because I am not a native
English speaker.


Copyright Notice
~~~~~~~~~~~~~~~~
   This program is free software; you can redistribute it and/or modify it 
under the terms of the GNU General Public License as published by the Free 
Software Foundation; either version 2 of the License, or any later version.

   This program is distributed in the hope that it will be useful, but WITHOUT 
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 
FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.


                 Copyright (C) 2000-2001, Kyosuke TOKORO <NBG01720@nifty.ne.jp>
                                  http://www.vector.co.jp/authors/VA000199/os2/
