home *** CD-ROM | disk | FTP | other *** search
-
- ΓòÉΓòÉΓòÉ 1. About 4OS2 Help ΓòÉΓòÉΓòÉ
-
- 4OS2 2.5 Help System
-
- Text by Hardin Brothers, Tom Rawson, and Rex Conn
-
- Program and Text Copyright 1988 - 1994, JP Software Inc., All Rights Reserved.
-
- Copyright 1994, JP Software Inc., All Rights Reserved. 4OS2 is a trademark and
- 4DOS is a registered trademark of JP Software Inc. OS/2 is a registered
- trademark of IBM Corporation. Other product and company names are trademarks
- of their respective owners.
-
- [9/94-2.5A]
-
-
- ΓòÉΓòÉΓòÉ 2. Using the 4OS2 Help System ΓòÉΓòÉΓòÉ
-
- This online help system for 4OS2 covers all 4OS2 features and internal
- commands. It includes reference information to assist you in using 4OS2 and
- developing batch files; however it does not include all of the details which
- are included in the printed 4OS2 manuals.
-
- If you type part or all of a command on the line and then press F1, the help
- system will provide "context-sensitive" help by using the first word on the
- line as a help topic. If it's a valid topic, you will see help for that topic
- automatically; if not, you will see the list of all help topics and you can
- pick the one you want.
-
- You can use this feature to obtain help on any topic -- not just on commands.
- For example, if you enter the command HELP _DISK you will see help for the
- _DISK internal variable.
-
- If you type the name of any internal command at the prompt, followed by a slash
- and a question mark [/?] like this:
-
- copy /?
-
- then you will see help for the command in a "quick-reference" style. Output
- from a /? display may be redirected with > or >>.
-
- The /? option may not work correctly if you have used an alias to redefine how
- an internal command operates. To view the /? help for such a command you must
- add an asterisk to the beginning of the command to disable alias processing.
- For example, if you have defined this alias:
-
- alias copy *copy /r
-
- then the command COPY /? will be translated to COPY /R /?, which will not work
- properly. However, if you use *COPY /?, the alias will be ignored and the /?
- will work as you intended.
-
- The 4OS2 help system uses OS/2's VIEW.EXE to display this help text. Once
- you've started the help system with HELP or F1, you can use VIEW's standard
- keystrokes to navigate. For more information, click on the Help menu at the
- top of the VIEW window.
-
- Configuring the Help System
-
- You can select which help "books" are displayed when you press the F1 key or
- enter the HELP command. A help book is a single .INF file. This help text is
- in the file 4OS2.INF.
-
- By default, 4OS2 opens this book and the OS/2 command reference file,
- CMDREF.INF. You can change the default books opened for the 4OS2 help system
- with the HelpBook directive in 4OS2.INI. The default setting is 4OS2+CMDREF.
- For example, to load only the 4OS2 help when you press F1 or enter the HELP
- command:
-
- HelpBook = 4OS2
-
-
- ΓòÉΓòÉΓòÉ 3. Conventions ΓòÉΓòÉΓòÉ
-
- This section contains information about conventions that are used throughout
- 4OS2:
-
- Colors and color names
- Color-coded directories
- Keys and key names
-
- These topics are combined here in a central reference spot so that they will
- be easy to find when you need to refer to them. You will find cross
- references to this section throughout the help system.
-
-
- ΓòÉΓòÉΓòÉ 3.1. Colors and Color Names ΓòÉΓòÉΓòÉ
-
- You can use color names in several of the directives in the .INI file and in
- many commands. The general form of a color name is:
-
- [BRIght] [BLInk] fg ON [BRIght] bg [BORder bc ]
-
- where fg is the foreground or text color, bg is the background color, and bc is
- the border color.
-
- The available colors are:
-
- Black Blue Green Red
- Magenta Cyan Yellow White
-
- Color names and the words BRIght, BLInk, and BORder may be shortened to the
- first 3 letters.
-
- You can also specify colors by number instead of by name. The numbers are most
- useful in potentially long INI file directives like ColorDir. The following
- numbers are recognized:
-
- 0 - Black 8 - Gray (bright black)
- 1 - Blue 9 - Bright blue
- 2 - Green 10 - Bright green
- 3 - Cyan 11 - Bright cyan
- 4 - Red 12 - Bright red
- 5 - Magenta 13 - Bright magenta
- 6 - Yellow 14 - Bright yellow
- 7 - White 15 - Bright white
-
- Use one number to substitute for the [BRIght] fg portion of the color name, and
- a second to substitute for the [BRIght] bg portion. For example, instead of
- bright cyan on blue you could use 11 on 1 to save space in a ColorDir
- specification.
-
- There are several subtleties that complicate the use of colors and color names.
- In order to understand them, you will need to read through the restrictions
- described below. These restrictions are due to the design of your PC video
- hardware and video drivers, and are not inherent in 4OS2. Some of the
- restrictions are complex, so feel free to skip over those that do not apply to
- color combinations you use.
-
- Some restrictions depend on the display "mode." 4OS2 can run in either normal
- display mode, where it uses the full screen and has more direct control over
- the video hardware; or in windowed display mode, where it appears in a window
- on the OS/2 desktop.
-
- Monochrome Video Adapters
-
- If you have a monochrome video adapter, you cannot display any colors except
- white and black in either normal or bright intensity. If you have a color video
- adapter, you can use any of the standard colors listed above (provided you meet
- the other restrictions below).
-
- Color Errors
-
- A standard color specification allows sixteen foreground and eight background
- colors (sixteen if bright backgrounds are enabled, see below). However, most
- video adapters and monitors do not provide true renditions of certain colors.
- For example, most users see normal "yellow" as brown, and bright yellow as
- yellow; many also see normal red as red, and "bright red" as pink. Color
- errors are often much worse when running in windowed mode (see above), because
- the graphical environment that created the window may not map the text-mode
- colors the way you expect. These problems are inherent in the monitor, video
- adapter, and driver software. They cannot be corrected using 4OS2 color
- specifications.
-
- Border Colors
-
- In order to use border colors, you must have a color video adapter (monochrome
- adapters do not support border colors).
-
- 4OS2 can only accept border colors in the CLS and COLOR commands, and in the
- StdColors directive in the .INI file. Border colors will be ignored, or will
- cause an error, if they are used elsewhere.
-
- Border colors do not work in windowed mode, and will be ignored if used in a
- windowed session under OS/2.
-
- Blinking Text and Bright Background Colors
-
- The interactions between blinking characters, bright backgrounds, and your
- display mode can be complex. You will need to understand them if you use
- either attribute in your color specifications.
-
- Bright background colors are only available if you have an EGA- or
- VGA-compatible display adapter. If you have a monochrome or CGA adapter, you
- can use blinking displays and ignore the interactions described below.
-
- The effects of blinking and bright background color specifications depend
- partly on whether you are in normal or windowed display mode.
-
- Full-Screen Display Mode
-
- In full-screen display mode your video hardware can be configured via software
- commands to display either blinking text, or text with a bright background, but
- not both. This is due to the design of PC video hardware, and is not a
- software restriction.
-
- The memory on your video adapter includes a "flag" for each character on the
- screen. The flag controls blinking text and bright background colors. If the
- flag is off, the character is displayed with a normal background and does not
- blink. If the flag is "on," the character either blinks or is displayed with a
- bright background, depending on which way your video adapter is currently
- configured.
-
- In full-screen display mode, the configuration of your video adapter can be
- controlled by 4OS2 with the BrightBG directive in the 4OS2.INI file or the
- SETDOS /B command. If you set BrightBG = No or use the SETDOS /B0 command,
- 4OS2 will configure the video adapter for blinking text, and characters with
- the blink / bright background flag set will blink. If you set BrightBG = Yes
- or use SETDOS /B1, 4OS2 will configure the video adapter for bright background
- colors, and the characters will be displayed with a bright background instead.
-
- Because there is only one flag for each character to specify both blinking text
- and bright background color, it doesn't matter which attribute you use when you
- specify the color. Whether you specify blinking text or a bright background,
- you will see the same thing on your screen. For example, these two COLOR
- commands will always produce the same results:
-
- color blink white on blue
- color white on bright blue
-
- If bright backgrounds are enabled, both commands will produce white text on a
- bright blue background. If blinking text is enabled, both commands will
- produce blinking white text on a blue background.
-
- If you don't use BrightBG or SETDOS /B, or if you use SETDOS /B2, 4OS2 will not
- attempt to configure your video hardware. Most video adapters default to
- blinking text in normal mode, but this can be changed by application programs.
- If you use BrightBG or SETDOS /B, 4OS2 will configure the hardware each time it
- displays the prompt.
-
- The method used to adjust the video hardware may not be compatible with all
- video cards. If you see screen "flashes" at each prompt when you use BrightBG
- or SETDOS /B, discontinue using both commands. This problem is very rare and
- is not likely to occur on standard EGA and VGA systems.
-
- Windowed Mode
-
- In windowed mode, 4OS2 cannot control your hardware to select blinking or
- bright backgrounds. Instead, OS/2 displays bright background colors,
- regardless of the BrightBG or SETDOS /B setting. It does not provide a way to
- display blinking characters in windowed mode. As an example, the two commands
- given above would both display white text on a bright blue background when run
- in windowed mode.
-
- Switching Modes
-
- OS/2 allows you to switch any DOS session between full- screen and windowed
- mode. You cannot switch modes for OS/2 sessions, so 4OS2 is not directly
- affected by mode switching. However, if you write batch files or aliases which
- run in both modes, you may need to take into account that OS/2 defaults to
- displaying blinking text in full-screen mode and bright backgrounds in windowed
- mode.
-
-
- ΓòÉΓòÉΓòÉ 3.2. Color-Coded Directories ΓòÉΓòÉΓòÉ
-
- The DIR and SELECT commands can display each file name in a different color,
- depending on the file's extension.
-
- To choose the DIR and SELECT display colors, you must either use the SET
- command to create an environment variable called COLORDIR, or use the ColorDir
- directive in your .INI file.
-
- If you do not use the COLORDIR variable or the ColorDir directive, DIR will use
- the default screen colors and SELECT will use the default screen colors or
- those set with the SelectColors directive.
-
- If you use both the COLORDIR variable and the ColorDir directive, the
- environment variable will override the settings in your .INI file. You may
- find it useful to use the COLORDIR variable for experimenting, then to set
- permanent directory colors with the ColorDir directive.
-
- The format for both the COLORDIR environment variable and the ColorDir
- directive in the .INI file is:
-
- ext ... :ColorName; ...
-
- where "ext" is a file extension (which may include wildcards) or one of the
- following file types:
-
- DIRS Directories
- RDONLY Read-only files
- HIDDEN Hidden files
- SYSTEM System files
- ARCHIVE Files modified since the last backup
-
- and "ColorName" is any valid color name (see Colors).
-
- Unlike most color specifications, the background portion of the color name may
- be left out for directory colors. If you don't specify a background color, DIR
- and SELECT will use the current screen background color.
-
- For example, to display the .COM and .EXE files in red on the current
- background, the .C and .ASM files in bright cyan on the current background, and
- the read-only files in blinking green on white (this should be entered on one
- line):
-
- [c:\] set colordir=com exe:red; c asm:bright cyan; rdonly:blink green on white
-
- Extended wildcards (for example "BA[KXC]" for .BAK, .BAX, and .BAC files) can
- be used in directory color specifications.
-
- If the extension or type of a file matches an extension or type listed in your
- color specification, the remainder of the colors are ignored for that file.
- You may need to take this into account in determining the order of extensions
- and file types in your COLORDIR setting. For example, you might try this
- setting to display all .COM and .EXE files in red, and all other files whose
- extension starts with a "C" in green:
-
- c:\> set colordir=c*:green;com exe:red
-
- However in this case the .COM files will be displayed in green, because they
- match the "c*", and the ".com" later on the line is ignored. To correct this
- problem, change the line to read:
-
- c:\> set colordir=com exe:red;c*:green
-
-
- ΓòÉΓòÉΓòÉ 3.3. Keys and Key Names ΓòÉΓòÉΓòÉ
-
- Key names are used to define keystroke aliases, and in several 4OS2.INI
- directives. The format of a key name is the same in both uses:
-
- [Prefix-]Keyname
-
- The key prefix can be left out, or it can be any one of the following:
-
- Alt followed by A - Z, 0 - 9, F1 - F12, or Bksp
- Ctrl followed by A - Z, F1 - F12, Tab, Bksp, Enter,
- Left, Right, Home, End, PgUp, PgDn, Ins, or Del
- Shift followed by F1 - F12 or Tab.
-
- The possible key names are:
-
- A - Z Enter PgDn
- 0 - 9 Up Home
- F1 - F Down End
- Esc Left Ins
- Bksp Right Del
- Tab PgUp
-
- All key names must be spelled as shown. Alphabetic keys can be specified in
- upper-case or lower-case. You cannot specify a punctuation key.
-
- The prefix and key name must be separated by a dash [-]. For example:
-
- Alt-F10 This is okay
- Alt F10 The space will cause an error
-
- If you prefer, you can use a numeric value instead of a key name. Use the ASCII
- code for an ASCII, extended ASCII, or control character. Use the scan code
- preceded by an at sign [@] for extended key codes like F1 or the cursor keys.
- For example, use 13 for Enter, or @59 for F1. In general, you will find it
- easier to use the names described above rather than key numbers. See see the
- Reference Tables for an explanation and list of ASCII and key codes.
-
- Some keys are intercepted by OS/2 and are not passed on to 4OS2. For example,
- Ctrl-S pauses screen output temporarily, and Ctrl-Esc pops up the OS/2 window
- list. Keys which are intercepted by OS/2 generally cannot be assigned to
- aliases or with key mapping directives, because 4OS2 never receives these
- keystrokes and therefore cannot act on them.
-
- You also may not be able to use certain keys if your keyboard is not 100%
- IBM-compatible or your keyboard driver does not support them. For example, on
- some systems the F11 and F12 keys are not recognized; others may not support
- unusual combinations like Ctrl-Tab. These problems are rare; when they do
- occur, they are usually due to OS/2 and not to any problem with 4OS2.
-
-
- ΓòÉΓòÉΓòÉ 4. 16-Bit and 32-Bit Versions of 4OS2 ΓòÉΓòÉΓòÉ
-
- 4OS2 comes in two versions: 32-bit (4OS2/32) and 16-bit (4OS2/16). If you use
- OS/2 version 2.1 or above, you will find that 4OS2/32 offers a few improvements
- and runs a bit faster than 4OS2/16. Normally, the correct version is selected
- for you automatically by the 4OS2 INSTALL program. If you are using a
- downloaded copy of 4OS2, see the README.DOC file which came with your copy for
- details on selecting the appropriate files for your system.
-
- Once the proper version is selected during installation, you generally don't
- need to be concerned with which version you are using, as the two versions are
- almost identical. A few features are available only in the 32-bit version;
- these are marked as such in this help text and in the manuals.
-
- If necessary, you can install the 16-bit or 32-bit version explicitly rather
- than letting the installation program choose for you. To do so, start the
- installation program (see page 4) and select the Install 16-bit Version or
- Install 32-bit Version option. These options install only the files which
- differ between the two versions: 4OS2.EXE, SHRALIAS.EXE, 4OS2A.ICO, and
- 4OS2B.ICO.
-
- 4OS2/16 runs under OS/2 1.21, 1.3, 2.0, 2.1, 2.11, and 3.0 (including "OS/2 for
- Windows"). 4OS2/32 normally runs only under OS/2 2.1, 2.11, and 3.0 (also
- including "OS/2 for Windows"). You can install it manually for OS/2 2.0 if you
- wish, but some features may not work properly due to problems with 32-bit
- support in some versions of OS/2 2.0.
-
-
- ═══ 5.  Startup ═══
-
- Each 4OS2 object on your OS/2 desktop represents a different 4OS2 session. You
- can configure any of these sessions to run in windowed or full-screen mode, and
- you can set any necessary command line parameters for 4OS2, by adjusting the
- properties of the desktop objects.
-
- To adjust the properties of an object you need to be familiar with how object
- properties are set in your version of OS/2. For details see your OS/2
- documentation, or the 4OS2 Introduction and Installation Guide.
-
- When you configure a 4OS2 object, place an asterisk [*] in the Program Name
- field, and put any startup options that you want passed to 4OS2 (e.g.,
- @inifile) in the Parameters field. For example:
-
- Path and file name: *
- Parameters: @D:\START\4OS2.INI
- Working directory: C:\
-
- (If 4OS2 is not set up as your default OS/2 shell in CONFIG.SYS, use the full
- path and name for 4OS2.EXE as the program name, rather than the asterisk.)
-
- The 4OS2 command line does not need to contain any information. When invoked
- with an empty command line, 4OS2 will configure itself from the 4OS2.INI file,
- run 4START, and then display a prompt and wait for you to type a command.
- However, you may add options on the 4OS2 command line to change the way 4OS2
- operates.
-
- 4OS2 recognizes several optional fields on the command line. All of the options
- go on one line. If you use more than one of these fields, their order is
- important. The syntax for the command line is:
-
- [d:\path] [@d:\path\inifile] [//iniline]... [/L] [/LA] [/LD] [/LH] [/S]
- [/C | /K] [command]
-
- The options are:
-
- d:\path: 4OS2 will use this directory and path to set the COMSPEC
- environment variable for this session. If this option is not used,
- COMSPEC is set from the location of 4OS2.EXE. 4OS2 always knows what
- drive and directory it was started from and can set COMSPEC
- accordingly. This option is included only for compatibility with
- CMD.EXE.
-
- @d:\path\inifile: This option sets the path and name of the 4OS2.INI
- file. You do not need this option if you aren't using a 4OS2.INI file,
- or if the file is named 4OS2.INI and is stored in the same subdirectory
- as 4OS2.EXE or in the root directory of the boot drive.
-
- //iniline: This option tells 4OS2 to treat the text appearing between
- the // and the next space or tab as a 4OS2.INI directive. The
- directive should be in the same format as a line in 4OS2.INI, but it
- may not contain spaces, tabs, or comments. This option overrides any
- corresponding directive in your 4OS2.INI file.
-
- /L, /LA, /LD, and /LH: These options force 4OS2 to to use a local
- alias, directory history, and / or command history list. They can be
- used to override any LocalAlias=No, LocalDirHistory=No, or
- LocalHistory=No settings in 4OS2.INI. This allows you to use global
- lists as the default, but start a specific 4OS2 session with local
- lists. See Command History for details on local and global history,
- Directory History Window for details on local and global directory
- history, and ALIAS for details on local and global aliases. /LA forces
- local aliases, /LD forces local directory history, /LH forces local
- history, and /L forces all three.
-
- /S: This option tells 4OS2 that you do not want it to set up a Ctrl-C
- / Ctrl-Break handler. It is included for compatibility with CMD.EXE,
- but it may cause the system to operate incorrectly if you use this
- option without other software to handle Ctrl-C and Ctrl-Break.
-
- [/C | /K] command: This option tells 4OS2 to run a command when it
- starts. The command will be run after 4START has been executed and
- before any command prompt is displayed. It can be any valid internal
- or external command, batch file, or alias; you may include multiple
- commands by using the command separator. All other startup options
- must be placed before the command, because 4OS2 will treat characters
- after the command as part of the command and not as additional startup
- options.
-
- When the command is preceded by a /C, 4OS2 will execute the command and
- then exit and return to the parent program or the OS/2 desktop without
- displaying a prompt.
-
- The /K switch has no effect; using it is the same as placing the
- command (without a /C or /K) at the end of the startup command line.
- It is included only for compatibility with CMD.EXE.
-
- To run a startup batch file for a particular 4OS2 session, include its name
- (with a path, if the batch file is not in the session's startup directory) as
- the last item in the Parameters field when you configure the desktop object.
- That batch file will be executed after any 4START file, but before the first
- prompt is displayed. You can use the batch file to set environment variables
- and execute any other 4OS2 commands.
-
- You can also execute any internal 4OS2 command, external command, or alias by
- placing its name in the Parameters field. For example:
-
- Path and file name: *
- Parameters: D:\STARTOS2.CMD
- Working directory: C:\
-
- To execute an internal or external command, an alias, or a batch file and then
- exit (return to the desktop) when it is done, place /C command (rather than
- just command) as the last item in the Parameters field. For example:
-
- Path and file name: *
- Parameters: /C COMFILES.BTM
- Working directory: C:\
-
-
- ΓòÉΓòÉΓòÉ 6. The Command Line ΓòÉΓòÉΓòÉ
-
- 4OS2 displays a [c:\] prompt when it is waiting for you to enter a command.
- (The actual text depends on the current drive and directory as well as your
- PROMPT settings.) This is called the command line and the prompt is asking you
- to enter a command, an alias or batch file name, or the instructions necessary
- to begin an application program.
-
- This section explains the features that will help you while you are typing in
- commands, and how keystrokes are interpreted when you enter them at the command
- line. The keystrokes discussed here are the ones normally used by 4OS2. If
- you prefer using different keystrokes to perform these functions, you can
- assign new ones with key mapping directives in 4OS2.INI.
-
- The command line features documented in this section are:
-
- Command-Line Editing
- Command History and Recall
- Command History Window
- Filename Completion
- Directory History Window
- Automatic Directory Changes
- Multiple Commands
- Command-Line Length Limits
- Page and File Prompts
- Conditional Commands
- Command Grouping
- Escape Character
- Critical Errors
-
- Additional command-line features are documented under Redirection and Piping
- and File Selection.
-
-
- ΓòÉΓòÉΓòÉ 6.1. Command-Line Editing ΓòÉΓòÉΓòÉ
-
- The command line works like a single-line word processor, allowing you to edit
- any part of the command at any time before you press Enter to execute it, or
- Esc to erase it. The command line extends to a maximum of 1023 characters.
-
- You can use the following editing keys when you are typing a command (the words
- Ctrl and Shift mean to press the Ctrl or Shift key together with the other key
- named):
-
- Cursor Movement Keys:
-
- Move the cursor left one character.
- Move the cursor right one character.
- Ctrl Move the cursor left one word.
- Ctrl Move the cursor right one word.
- Home Move the cursor to the beginning of the line.
- End Move the cursor to the end of the line.
-
- Insert and Delete:
-
- Ins Toggle between insert and overtype mode.
- Del Delete the character at the cursor.
- Backspace Delete the character to the left of the cursor.
- Ctrl-L Delete the word or partial word to the left of the
- cursor.
- Ctrl-R or Ctrl-Bksp Delete the word or partial word to the
- right of the cursor.
- Ctrl-Home Delete from the beginning of the line to the cursor.
- Ctrl-End Delete from the cursor to the end of the line.
- Esc Delete the entire line.
- Ctrl-C or Ctrl-Break Cancel the command.
- Enter Execute the command line.
-
- 4OS2 will prompt for additional command-line text when you include the escape
- character as the very last character of a typed command line. The default
- escape character is the caret [^]. For example:
-
- [c:\] echo The quick brown fox jumped over the lazy^
- More? sleeping dog. > alphabet
-
- Sometimes you may want to enter one of the above keystrokes on the command
- line instead of performing the key's usual action. For example, suppose you
- have a program that requires a Ctrl-R character on its command line. Normally
- you couldn't type this keystroke at the prompt, because it would be
- interpreted as a "Delete word right" command.
-
- To get around this problem, use the special keystroke Alt-255. You enter
- Alt-255 by holding down the Alt key while you type 255 on the numeric keypad,
- then releasing the Alt key (you must use the number keys on the numeric pad;
- the row of keys at the top of your keyboard won't work). This forces 4OS2 to
- interpret the next keystroke literally and places it on the command line,
- ignoring any special meaning it would normally have as a command- line editing
- or history keystroke. You can use Alt-255 to suppress the normal meaning of
- command-line editing keystrokes even if they have been reassigned with key
- mapping directives in the .INI file, and Alt-255 itself can be reassigned with
- the CommandEscape directive.
-
- If you want your input at the command line to be in a different color from
- 4OS2's prompts or output, you can use the InputColors directive in your .INI
- file.
-
- Most of the command-line editing capabilities are also available when a 4OS2
- command prompts you for a line of input. For example, you can use the
- command-line editing keys when DESCRIBE prompts for a file description, when
- INPUT prompts for input from an alias or batch file, or when LIST prompts you
- for a search string.
-
-
- ΓòÉΓòÉΓòÉ 6.2. Command History and Recall ΓòÉΓòÉΓòÉ
-
- Command History Keys:
-
- Recall the previous (or most recent) command, or the
- most recent command that matches a partial command
- line.
- Recall the next (or oldest) command, or the oldest
- command that matches a partial command line.
- F3 Fill in the rest of the command line from the previous
- command, beginning at the current cursor position.
- Ctrl-D Delete the currently displayed history list entry,
- erase the command line, and display the previous
- matching history list entry.
- Ctrl-E Display the last entry in the history list.
- Ctrl-K Save the current command line in the history list
- without executing it, and then clear the command line.
- Ctrl-Enter Copy the current command line to the end of the history
- list even it has not been altered.
- @ As the first character in a line: Do not save the
- current line in the history list when it is executed,
- and do not store it in the CMDLINE environment
- variable.
-
- Use the key repeatedly to scan back through the history list. When the
- desired command appears, press Enter to execute it again. After you have
- found a command, you can edit it before pressing Enter.
-
- The history list is "circular". If you move to the last command in the list
- and then press the down arrow one more time, you'll see the first command in
- the list. Similarly, if you move to the first command in the list and then
- press the up arrow one more time, you'll see the last command in the list.
-
- You can search the command history list to find a previous command quickly
- using command completion. Just enter the first few characters of the command
- you want to find and press . You only need to enter enough characters to
- identify the command that you want to find. If you press the key a second
- time, you will see the previous command that matches. The system will beep if
- there are no matching commands. The search process stops as soon as you type
- one of the editing keys, whether or not the line is changed. At that point,
- the line you're viewing becomes the new line to match if you press again.
-
- You can specify the size of the command history list with the History
- directive in the .INI file. When the list is full, the oldest commands are
- discarded to make room for new ones. You can also use the HistMin directive
- in the .INI file to enable or disable history saves and to specify the
- shortest command line that will be saved.
-
- You can prevent any command line from being saved in the history by beginning
- it with an at sign [@].
-
- Use Ctrl-Enter to organize the history list for repetitive tasks. Instead of
- searching through the command history for the next command in a sequence, you
- can place all of the necessary commands next to each other and make them
- easier to repeat.
-
- When you execute a command from the history, that command remains in the
- history list in its original position. The command is not copied to the end
- of the list (unless you modify it). If you want each command to be copied to
- the end of the list when it is re- executed, set HistCopy to Yes in your .INI
- file.
-
- Local and Global Command History
-
- The command history can be stored in either a "local" or "global" list.
-
- With a local history list, any changes made to the history will only affect
- the current copy of 4OS2. They will not be visible in other shells, or other
- sessions.
-
- With a global history list, all copies of 4OS2 will share the same command
- history, and any changes made to the history in one copy will affect all other
- copies. Global lists are the default for 4OS2.
-
- You can control the type of history list with the LocalHistory directive in
- the .INI file, and with the /L and /LH options of the START command.
-
- If you select a global history list for 4OS2 you can share the history among
- all copies of 4OS2 running in any session. When you close all 4OS2 sessions,
- the memory for the global history list is released, and a new, empty history
- list is created the next time you start 4OS2. If you want the history list to
- be retained in memory even when no command processor session is running, you
- need to load the SHRALIAS program, which performs this service for the global
- history and alias lists. SHRALIAS is described in more detail under the ALIAS
- command.
-
-
- ΓòÉΓòÉΓòÉ 6.3. Command History Window ΓòÉΓòÉΓòÉ
-
- Command History Window Keys:
-
- PgUp (from the command line) Open the command history
- window.
- or PgDn
- Scroll the display up one line.
- Scroll the display down one line.
- Scroll the display left 4 columns.
- Scroll the display right 4 columns.
- PgUp (inside the window) Scroll the display up one page.
- PgDn (inside the window) Scroll the display down one page.
- Ctrl-PgUp Go to the beginning of the history list.
- or Home
- Ctrl-PgDn Go to the end of the history list.
- or End
- Ctrl-D Delete the selected line from the history list.
- Enter Execute the selected line.
- Ctrl-Enter Move the selected line to the command line for editing.
-
- You can view the command history in a scrollable command history window, and
- select the command to modify or re-execute from those displayed in the window.
- To activate the command history window press PgUp or PgDn at the command line.
- A window will appear in the upper right corner of the screen, with the command
- you most recently executed marked with a highlight. (If you just finished
- re-executing a command from the history, then the next command in sequence
- will be highlighted.)
-
- Once you have selected a command in the history window, press Enter to execute
- it immediately, or Ctrl-Enter to move the line to the prompt for editing (you
- cannot edit the line directly in the history window).
-
- You can bring up a "filtered" history window by typing some characters on the
- command line, then pressing PgUp or PgDn. Only those commands matching the
- typed characters will be displayed in the window.
-
- You can control the position and size of the history window with configuration
- directives in 4OS2.INI. You can also change the keys used in the window with
- key mapping directives in the .INI file.
-
-
- ΓòÉΓòÉΓòÉ 6.4. Filename Completion ΓòÉΓòÉΓòÉ
-
- Filename Completion Keys:
-
- F8 Get the previous matching filename.
- or Shift-Tab
- F9 Get the next matching filename.
- or Tab
- F10 Keep the current matching filename and display the
- next matching name immediately after the current
- one.
-
- Filename completion can help you by filling in a complete file name on the
- command line when you only remember part of the name. For example, if you
- know the name of a file begins AU but you can't remember the rest of the name,
- type:
-
- [c:\] copy au
-
- and then press the Tab key or F9 key. 4OS2 will search the current directory
- for filenames that begin AU and insert the first one onto the command line in
- place of the AU that you typed.
-
- If this is the file that you want, simply complete the command. If 4OS2
- didn't find the file that you were looking for, press Tab or F9 again to
- substitute the next filename that begins with AU. When there are no more
- filenames that match your pattern, the system will beep each time you press
- Tab or F9.
-
- If you go past the filename that you want, press Shift-Tab or F8 to back up
- and return to the previous matching filename. After you back up to the first
- filename, the system will beep each time you press Shift-Tab or F8.
-
- If you want to enter more than one matching filename on the same command line,
- press F10 when each desired name appears. This will keep that name and place
- the next matching filename after it on the command line. You can then use Tab
- (or F9) and Shift-Tab (or F8) to move through the remaining matching files.
-
- The pattern you use for matching may contain any valid filename characters, as
- well as wildcard characters and extended wildcards. For example, you can copy
- the first matching .TXT file by typing
-
- [c:\] copy *.txt
-
- and then pressing Tab.
-
- If you don't specify part of a filename before pressing Tab, the matching
- pattern will be *.*. If you type a filename without an extension, 4OS2 will
- add *.* to the name. It will also place a "*" after a partial extension. If
- you are typing a group of file names in an include list, the part of the
- include list at the cursor will be used as the pattern to match.
-
- When filename completion is used at the start of the command line, it will
- only match directories, executable files, and files with executable
- extensions, since these are the only file names that it makes sense to use at
- the start of a command. If a directory is found, a "\" will be appended to it
- to enable an automatic directory change.
-
- Filename Completion Window
-
- You can also view filenames in a scrollable filename completion window and
- select the file you want to work with. To activate the window, press F7 or
- Ctrl-Tab at the command line. You will see a window in the upper-right corner
- of the screen, with the names of files that match any partial filename you
- have entered on the command line. If you haven't yet entered a file name, the
- window will contain the name of all files in the current directory. (Ctrl-Tab
- will work only if your keyboard and keyboard driver support it. If it does
- not work on your system, use F7 instead.)
-
- Filename Completion Window Keys:
-
- F7 (from the command line) Open the filename
- completion window.
- or Ctrl-Tab
- Scroll the display up one line.
- Scroll the display down one line.
- Scroll the display left 4 columns.
- Scroll the display right 4 columns.
- PgUp Scroll the display up one page.
- PgDn Scroll the display down one page.
- Ctrl-PgUp Go to the beginning of the filename list.
- or Home
- Ctrl-PgDn Go to the end of the filename list.
- or End
- Enter Insert the selected filename into the command line.
-
-
- ΓòÉΓòÉΓòÉ 6.5. Directory History Window ΓòÉΓòÉΓòÉ
-
- Directory History Window Keys:
-
- Ctrl-PgUp (from the command line) Open the directory history
- window.
- or Ctrl-PgDn
- Scroll the display up one line.
- Scroll the display down one line.
- Scroll the display left 4 columns.
- Scroll the display right 4 columns.
- PgUp Scroll the display up one page.
- PgDn Scroll the display down one page.
- Ctrl-PgUp Go to the beginning of the directory list.
- or Home
- Ctrl-PgDn Go to the end of the directory list.
- or End
- Ctrl-D Delete the selected line from the directory list.
- Enter Change to the selected drive and directory.
- Ctrl-Enter Move the selected line to the command line for editing.
-
- Every time you change to a new directory or drive, the current directory
- directory is recorded in an internal directory history list. You can set the
- size of the list with the DirHistory directive in 4OS2.INI. As new entries
- are added, old entries are deleted from the list. Directory changes are
- recorded whether you make them from the command line with the CD, CDD, PUSHD,
- or POPD commands, with an automatic directory change, or by typing a new drive
- letter followed by a colon. Directories are recorded whether you change from
- one to another at the command line, from within a batch file, or from within
- an alias. In order to conserve space, each directory name is recorded just
- once in the directory history, even if you move into and out of that directory
- several times.
-
- You can view the directory history from the scrollable directory history
- window and change to any drive and directory on the list. To activate the
- directory history window, press Ctrl-PgUp or Ctrl-PgDn at the command line.
- You can then select a new directory with the Enter key.
-
- See also Local and Global Directory History.
-
-
- ΓòÉΓòÉΓòÉ 6.5.1. Local and Global Directory History ΓòÉΓòÉΓòÉ
-
- The directory history can be stored in either a "local" or "global" list.
-
- With a local directory history list, any changes made to the list will only
- affect the current copy of the command processor. They will not be visible in
- other shells, or other sessions.
-
- With a global list, all copies of the command processor will share the same
- directory history, and any changes made to the list in one copy will affect all
- other copies.
-
- You can control the type of directory history list with the LocalDirHistory
- directive in 4OS2.INI, and with the /L and /LD options of the START command.
-
- There is no fixed rule for deciding whether to use a local or global directory
- history list. Depending on your work style, you may find it most convenient to
- use one type, or a mixture of types in different sessions or shells. We
- recommend that you start with the default, then modify it if you find a
- situation where the default is not convenient.
-
- If you select a global directory list, you can share the list among all copies
- of the command processor running in any session. When you close all 4OS2
- sessions, the memory for the global directory history list is released, and a
- new, empty list is created the next time you start 4OS2. If you want the list
- to be retained in memory even when no command processor session is running, you
- need to load the SHRALIAS program, which performs this service for the global
- command history, directory history, and alias lists. SHRALIAS is described in
- more detail under the ALIAS command.
-
- Whenever you start a secondary shell which uses a local history list, it
- inherits a copy of the directory history from the previous shell. However, any
- changes to the list made in the secondary shell will affect only that shell.
- If you want changes made in a secondary shell to affect the previous shell, use
- a global directory history list in both shells.
-
-
- ΓòÉΓòÉΓòÉ 6.6. Automatic Directory Changes ΓòÉΓòÉΓòÉ
-
- The automatic directory change feature gives you a quick method for changing
- directories. You can use an automatic directory change in place of the CD or
- CDD command. To do so, simply type the name of the directory you want to
- change to at the prompt, with a backslash [\] at the end. For example:
-
- [c:\] 4os2\
- [c:\4os2]
-
- This feature can make directory changes very simple when it's combined with
- CDPATH, a list of directories for the CD and CDD commands to search if the
- directory you name does not exist below the current directory. For example,
- suppose CDPATH is set to C:\;D:\;E:\, and the directory WIN exists on drive E:.
- You can change to this directory with a single word on the command line:
-
- [c:\4os2] win\
- [e:\win]
-
- In executing the command shown above, 4OS2 first looks for a WIN subdirectory
- of the current directory, i.e., C:\4OS2\WIN. If no such directory exists it
- looks for a WIN subdirectory in every directory in the CDPATH list, and changes
- to the first one it finds.
-
- Internally, automatic directory changes use the CDD command, so the text before
- the backslash can include a drive letter, a full path, or a partial path.
- Commands like "....\" can be used to move up the directory tree quickly (see
- Extended Parent Directory Names). Automatic directory changes save the current
- directory, so it can be recalled with a "CDD -" or "CD -" command.
-
-
- ΓòÉΓòÉΓòÉ 6.7. Multiple Commands ΓòÉΓòÉΓòÉ
-
- You can type several commands on the same command line, separated by an
- ampersand [&]. For example, if you know you want to copy all of your .TXT
- files to drive A: and then run CHKDSK to be sure that drive A's file structure
- is in good shape, you could enter the following command:
-
- [c:\] copy *.txt a: & chkdsk a:
-
- You may put as many commands on the command line as you wish, as long as the
- total length of the command line does not exceed 1023 characters.
-
- You can use multiple commands in batch files and alias definitions as well as
- from the command line.
-
- If you don't like using the default command separator, you can pick another
- character using the SETDOS /C command or the CommandSep directive in the .INI
- file. If you plan to share aliases or batch files between 4DOS, 4OS2, and
- 4DOS/NT, see 4DOS, 4OS2, and 4DOS/NT Compatibility for details about choosing
- compatible command separators for two or more products.
-
-
- ΓòÉΓòÉΓòÉ 6.8. Command-Line Length Limits ΓòÉΓòÉΓòÉ
-
- When you first enter a command at the prompt or in an alias or batch file, it
- can be up to 1,023 characters long.
-
- As 4OS2 scans the command line and substitutes the contents of aliases and
- environment variables for their names, the line usually gets longer. This
- expanded line is stored in an internal buffer which allows each individual
- command to grow to 1,023 characters during the expansion process. In addition,
- if you have multiple commands on a single line, during expansion the entire
- line can grow to as much as 2,047 characters. If your use of aliases or
- environment variables causes the command line to exceed either of these limits
- as it is expanded, you will see an error message and the remainder of the line
- will not be executed.
-
-
- ΓòÉΓòÉΓòÉ 6.9. Page and File Prompts ΓòÉΓòÉΓòÉ
-
- Several 4OS2 commands can generate prompts, which wait for you to press a key
- to view a new page or to perform a file activity.
-
- When 4OS2 is displaying information in page mode, for example with a DIR /P or
- SET /P command, it displays the message
-
- Press Esc to Quit or any other key to continue...
-
- At this prompt, you can press Esc, Ctrl-C, or Ctrl- Break if you want to quit
- the command. You can press almost any other key to continue with the command
- and see the next page of information.
-
- During file processing, if you have activated prompting with a command like DEL
- /P, you will see this prompt before processing every file:
-
- Y/N/R ?
-
- You can answer this prompt by pressing "Y" for "Yes, process this file;" "N"
- for "No, do not process this file;" or "R" for "process the Remainder of the
- files without further prompting." You can also press Ctrl-C or Ctrl-Break at
- this prompt to cancel the remainder of the command.
-
-
- ΓòÉΓòÉΓòÉ 6.10. Conditional Commands ΓòÉΓòÉΓòÉ
-
- Conditional commands allow you to perform tasks based upon the previous
- command's exit code. Many programs return a 0 if they are successful and a
- non-zero value if they encounter an error.
-
- If you separate two commands by && (AND), the second command will be executed
- only if the first returns an exit code of 0. For example, the following
- command will only erase files if the BACKUP operation succeeds:
-
- [c:\] backup c:\ a: && del c:\*.bak;*.lst
-
- If you separate two commands by || (OR), the second command will be executed
- only if the first returns a non-zero exit code. For example, if the following
- BACKUP operation fails, then ECHO will display a message:
-
- [c:\] backup c:\ a: || echo Error in the backup!
-
- All internal commands return an exit code, but not all external programs do.
- Conditional commands will behave unpredictably if you use them with external
- programs which do not return an explicit exit code.
-
-
- ΓòÉΓòÉΓòÉ 6.11. Command Grouping ΓòÉΓòÉΓòÉ
-
- Command grouping allows you to logically group a set of commands together by
- enclosing them in parentheses. The parentheses are similar in function to the
- BEGIN and END block statements in some programming languages.
-
- There are two primary uses for command grouping. One is to execute multiple
- commands in a place where normally only a single command is allowed. For
- example, suppose you want to copy then rename all the .WKQ files on drives A:
- and B: using the FOR command. You could do it like this:
-
- [c:\] for %drv in (A B) do copy %drv:*.wkq d:\wksave\
- [c:\] for %drv in (A B) do ren %drv:*.wkq *.old
-
- But with command grouping you can do the same thing in one command (enter this
- on one line):
-
- [c:\] for %drv in (A B) do (copy %drv:*.wkq
- d:\wksave\ & ren %drv:*.wkq *.sav)
-
- The COPY and REN commands enclosed in the parentheses appear to FOR as if they
- were a single command, so both commands are executed for every element of the
- FOR list.
-
- You can also use command grouping to redirect input or output for several
- commands without repeatedly using the redirection symbols. For example,
- consider the following batch file fragment which uses the ECHO command to
- create a file (with >), and to append to the file (with >>):
-
- echo Data files %_date > filelist
- dir *.dat >> filelist
- echo. >> filelist
- echo Text files %_date >> filelist
- dir *.txt >> filelist
-
- Using command grouping, these commands can be written much more simply. Enter
- this example on one line:
-
- (echo Data files %_date & dir *.dat & echo. & echo Text files
- %_date & dir *.txt) > filelist
-
- The redirection, which appears outside the parentheses, applies to all the
- commands within the parentheses. Because the redirection is performed only
- once, the commands will run slightly faster than if each command was entered
- separately. The same approach can be used for input redirection and for
- piping.
-
- You can also use command grouping in a batch file or at the prompt to split
- commands over several lines. This last example is like the redirection example
- above, but is entered at the prompt. 4OS2 displays a "More?" prompt after each
- incomplete line:
-
- [c:\] (echo Data files %_date
- More? dir *.dat
- More? echo.
- More? echo Text files %_date
- More? dir *.txt) > filelist
- [c:\]
-
-
- ΓòÉΓòÉΓòÉ 6.12. Escape Character ΓòÉΓòÉΓòÉ
-
- 4OS2 recognizes a user-definable escape character. This character gives the
- following character a special meaning; it is not the same as the ASCII ESC that
- is often used in ANSI and printer control sequences.
-
- The default escape character is a caret [^].
-
- If you don't like using the default escape character, you can pick another
- character using the SETDOS /E command or the EscapeChar directive in your .INI
- file. If you plan to share aliases or batch files between 4DOS, 4OS2, and
- 4DOS/NT, see 4DOS, 4OS2, and 4DOS/NT Compatibility for details about choosing
- compatible escape characters for two or more products.
-
- Eight special characters are recognized when they are preceded by the escape
- character. The combination of the escape character and one of these characters
- is translated to a single character, as shown below. These are useful for
- redirecting codes to the printer; ^e is also useful to generate ANSI "escape
- sequences" in your PROMPT, ECHO, or other output commands; and ^r can be used
- in keystroke aliases. The special characters which can follow the escape
- character are:
-
- b backspace
- c comma
- e the ASCII ESC character (ASCII 27)
- f form feed
- n line feed
- r carriage return
- s space
- t tab character
-
- If you follow the escape character with any other character, the escape
- character is removed and the second character is copied directly to the
- command line. This allows you to suppress the normal meaning of special
- characters (such as ? * / \ | " ` > < and &).
-
- For example, to send a form feed followed by the sequence ESC Y to the
- printer, you can use this command:
-
- [c:\] echos ^f^eY > prn
-
-
- ΓòÉΓòÉΓòÉ 6.13. Critical Errors ΓòÉΓòÉΓòÉ
-
- OS/2 watches for physical errors during input and output operations. Physical
- errors are those due to hardware problems, such as trying to read a floppy disk
- while the drive door is open.
-
- These errors are called critical errors because OS/2, 4OS2, or your application
- program cannot proceed until the error is resolved.
-
- When a critical error occurs, you will see a popup window asking you to choose
- an error handling option. The message comes from OS/2, and will typically
- offer you four choices:
-
- Return error code to program. Tell the program that the operation
- failed. This option returns an error code to 4OS2 or to the
- application program that was running when the error occurred. 4OS2
- generally stops the current command when an operation fails.
-
- End program/command/operation. Choose this option to stop the program
- that was running when the error occurred. Choosing this option after
- an error in the 16-bit version of 4OS2 will abort the command, but not
- 4OS2 itself. Choosing it after an error in the 32-bit version of 4OS2
- will abort both the command and 4OS2.
-
- Retry command or operation. Choose this option if you have corrected
- the problem.
-
- Display help. Display further information on the error.
-
-
- ΓòÉΓòÉΓòÉ 7. Redirection and Piping ΓòÉΓòÉΓòÉ
-
- This section covers redirection and piping. You can use these features to
- change how 4OS2 and some application programs handle input and output.
-
- Internal commands and many external programs get their input from the
- computer's standard input device and send their output to the standard output
- device. Some programs also send special messages to the standard error device.
- Normally, the keyboard is used for standard input and the video screen for both
- standard output and standard error. Redirection and piping allow you to change
- these assignments temporarily.
-
- Redirection
-
- Redirection assigns standard input, standard output, and standard error to a
- device like the printer or serial port, or to a file.
-
- Redirection always applies to a specific command, and lasts only for the
- duration of that command. When the command is finished, the assignments for
- standard input, standard output, and standard error revert to whatever they
- were before the command.
-
- Here are the standard redirection options supported by 4OS2 (see below for
- additional redirection options using numeric file handles):
-
- < filename To get input from a file or device instead of from
- the keyboard
- > filename Redirect standard output to a file or device
- >& filename Redirect standard output and standard error to a
- file or device
- >&> filename Redirect standard error only to a file or device
-
- To use redirection, place the redirection symbol and filename at the end of
- the command line, after the command name and any parameters. For example, to
- redirect the output of the DIR command to a file called DIRLIST, you could use
- a command line like this:
-
- [c:\] dir /b *.dat > dirlist
-
- You can use both input and output redirection for the same command, if both
- are appropriate:
-
- [c:\] sort < dirlist > dirlist.srt
-
- If you redirect the output of a single internal command like DIR, the
- redirection ends automatically when that command is done. If you start a
- batch file with redirection, all of the batch file's output is redirected, and
- redirection ends when the batch file is done. Similarly, if you use
- redirection at the end of a command group, all of the output from the command
- group is redirected, and redirection ends when the command group is done.
-
- If you want to append output to the end of an existing file, rather than
- creating a new file, replace the first ">" in the output redirection symbol
- with ">>" (use >>, >>&, and >>&>).
-
- When output is directed to a file with >, >&, or >&>, if the file already
- exists, it will be overwritten. You can protect existing files by using the
- SETDOS /N1 command or the NoClobber directive in the .INI file.
-
- When output is appended to a file with >>, >>&, or >>&>, the file will be
- created if it doesn't already exist. Setting NoClobber will also prevent the
- creation of a new file.
-
- You can temporarily override the current setting of NoClobber by using an
- exclamation mark [!] after the redirection symbol. For example, to redirect
- the output of DIR to the file DIROUT, and allow overwriting of any existing
- file despite the NoClobber setting:
-
- [c:\] dir >! dirout
-
- Redirection is fully nestable. For example, you can invoke a batch file and
- redirect all of its output to a file or device. Output redirection on a
- command within the batch file will take effect for that command only; when the
- command is completed, output will revert to the redirected output file or
- device in use for the batch file as a whole.
-
- You can use redirection if you need to create a zero-byte file. To do so,
- enter >filename as a command, with no actual command before the > character.
-
- In addition to the standard redirection options, 4OS2 also supports the OS/2
- CMD.EXE syntax:
-
- n>file Redirect handle n to the named file
- n>&m Redirect handle n to the same place as handle m
-
- [n] and [m] are one-digit file handles between 0 and 9. You may not put any
- spaces between the n and the >, or between the >, &, and m in the second form.
- OS/2 interprets "0" as standard input, "1" as standard output, and "2" as
- standard error. Handles 3 to 9 will probably not be useful unless you have an
- application which uses those handles for a specific, documented purpose, or
- have opened a file with the %@FILEOPEN variable function and the file handle
- is between 3 and 9.
-
- Piping
-
- You can create a "pipe" to send the standard output of one command to the
- standard input of another command:
-
- command1 | command2 Send the standard output of command1 to
- the standard input of command2
- command1 |& command2 Send the standard output and standard
- error of command1 to the standard input
- of command2
-
- For example, to take the output of the SET command (which displays a list of
- your environment variables and their values) and pipe it to the SORT utility
- to generate a sorted list, you would use the command:
-
- [c:\] set | sort
-
- To do the same thing and then pipe the sorted list to the internal LIST
- command for full-screen viewing:
-
- [c:\] set | sort | list /s
-
- The TEE and Y commands are "pipe fittings" which add more flexibility to
- pipes.
-
- Like redirection, pipes are fully nestable. For example, you can invoke a
- batch file and send all of its output to another command with a pipe. A pipe
- on a command within the batch file will take effect for that command only;
- when the command is completed, output will revert to the pipe in use for the
- batch file as a whole.
-
- 4OS2 implements pipes by starting a new process for the receiving program
- instead of using temporary files. The sending and receiving programs run
- simultaneously; the sending program writes to the pipe and the receiving
- program reads from the pipe. When the receiving program finishes reading and
- processing the piped data, it is ended automatically.
-
- When you use pipes with 4OS2 make sure you think about any possible
- consequences that can occur from using a separate process to run the receiving
- program.
-
-
- ΓòÉΓòÉΓòÉ 8. File Selection ΓòÉΓòÉΓòÉ
-
- Most internal commands (like COPY, DIR, etc.) work on a file or a group of
- files. Besides typing the exact name of the file you want to work with, you
- can use several shorthand forms for naming or selecting files.
-
- The features explained in this section apply to 4OS2 commands only, and
- generally can not be used to pass file names to external programs unless those
- programs were specifically written to support these features.
-
- The file selection features are:
-
- Extended Parent Directory Names
- Wildcards
- Date, Time, and Size Ranges
- Multiple Filenames
- Include Lists
- Executable Extensions
-
-
- ΓòÉΓòÉΓòÉ 8.1. Extended Parent Directory Names ΓòÉΓòÉΓòÉ
-
- 4OS2 allows you to extend the traditional syntax for naming the parent
- directory, by adding additional [.] characters. Each additional [.] represents
- an additional directory level above the current directory. For example,
- .\FILE.DAT refers to a file in the current directory, ..\FILE.DAT refers to a
- file one level up (in the parent directory), and ...\FILE.DAT refers to a file
- two levels up (in the parent of the parent directory). If you are in the
- C:\DATA\FINANCE\JANUARY directory and want to copy the file LETTERS.DAT from
- the directory C:\DATA to drive A:
-
- [C:\DATA\FINANCE\JANUARY] copy ...\LETTERS.DAT A:
-
-
- ΓòÉΓòÉΓòÉ 8.2. Wildcards ΓòÉΓòÉΓòÉ
-
- Wildcards let you specify a file or group of files by typing a partial
- filename. The appropriate directory is scanned to find all of the files that
- match the partial name you have specified.
-
- There are two wildcard characters, the asterisk [*] and the question mark [?],
- plus a special method of specifying a range of permissible characters.
-
- An asterisk [*] in a filename means "any zero or more characters in this
- position." For example, this command will display a list of all files in the
- current directory:
-
- [c:\] dir *.*
-
- If you want to see all of the files with a .TXT extension, you could type this:
-
- [c:\] dir *.txt
-
- If you know that the file you are looking for has a base name that begins with
- ST and an extension that begins with .D, you can find it this way. Filenames
- such as STATE.DAT, STEVEN.DOC, and ST.D will all be displayed:
-
- [c:\] dir st*.d*
-
- With 4OS2, you can also use the asterisk to match filenames with specific
- letters somewhere inside the name. The following example will display any file
- with a .TXT extension that has the letters AM together anywhere inside its base
- name. It will, for example, display AMPLE.TXT, STAMP.TXT, CLAM.TXT, and AM.TXT
- :
-
- [c:\] dir *am*.txt
-
- A question mark [?] matches any single filename character. You can put the
- question mark anywhere in a filename and use as many question marks as you
- need. The following example will display files with names like LETTER.DOC and
- LATTER.DAT, and LITTER.DU :
-
- [c:\] dir l?tter.d??
-
- The use of an asterisk wildcard before other characters, and of the character
- ranges discussed below, are enhancements to the standard wildcard syntax, and
- are not likely to work properly with software other than 4OS2.
-
- "Extra" question marks in your wildcard specification are ignored if the file
- name is shorter than the wildcard specification. For example, if you have
- files called LETTER.DOC, LETTER1.DOC, and LETTERA.DOC, this command will
- display all three names:
-
- [c:\] dir letter?.doc
-
- The file LETTER.DOC is included in the display because the "extra" question
- mark at the end of "LETTER? " is ignored when matching the shorter name LETTER.
-
- In some cases, the question mark wildcard may be too general. You can also
- specify what characters you want to accept (or exclude) in a particular
- position in the filename by using square brackets. Inside the brackets, you can
- put the individual acceptable characters or ranges of characters. For example,
- if you wanted to match LETTER0.DOC through LETTER9.DOC, you could use this
- command:
-
- [c:\] dir letter[0-9].doc
-
- You could find all files that have a vowel as the second letter in their name
- this way. This example also demonstrates how to mix the wildcard characters:
-
- [c:\] dir ?[aeiouy]*.*
-
- You can exclude a group of characters or a range of characters by using an
- exclamation mark [!] as the first character inside the brackets. This example
- displays all filenames that are at least 2 characters long except those which
- have a vowel as the second letter in their names:
-
- [c:\] dir ?[!aeiouy]*.*
-
- The next example, which selects files such as AIP, BIP, and TIP but not NIP,
- demonstrates how you can use multiple ranges inside the brackets. It will
- accept a file that begins with an A, B, C, D, T, U, or V:
-
- [c:\] dir [a-dt-v]ip
-
- You may use a question mark character inside the brackets, but its meaning is
- slightly different than a normal (unbracketed) question mark wildcard. A
- normal question mark wildcard matches any character, but will be ignored when
- matching a name shorter than the wildcard specification, as described above. A
- question mark inside brackets will match any character, but will not be
- discarded when matching shorter filenames. For example:
-
- [c:\] dir letter[?].doc
-
- will display LETTER1.DOC and LETTERA.DOC, but not LETTER.DOC.
-
- A pair of brackets with no characters between them [], or an exclamation point
- and question mark together [!?], will match only if there is no character in
- that position. For example,
-
- [c:\] dir letter[].doc
-
- will not display LETTER1.DOC or LETTERA.DOC, but will display LETTER.DOC. This
- is most useful for commands like
-
- [c:\] dir /I"[]" *.btm
-
- which will display a list of all .BTM files which don't have a description.
-
- You can repeat any of the wildcard characters in any combination you desire
- within a single file name. For example, the following command lists all files
- which have an A, B, or C as the third character, followed by zero or more
- additional characters, followed by a D, E, or F, followed optionally by some
- additional characters, and with an extension beginning with P or Q. You
- probably won't need to do anything this complex, but we've included it to show
- you the flexibility of extended wildcards:
-
- [c:\] dir ??[abc]*[def]*.[pq]*
-
- You can also use the square bracket wildcard syntax to work around a conflict
- between HPFS filenames containing semicolons [;], and the use of a semicolon to
- indicate an include list. For example, if you have a file on an HPFS drive
- named C:\DATA\LETTER1;V2 and you enter this command:
-
- [c:\] del \data\letter1;v2
-
- you will not get the results you expect. Instead of deleting the named file,
- 4OS2 will attempt to delete LETTER1 and then V2, because the semicolon
- indicates an include list. However if you use square brackets around the
- semicolon it will be interpreted as a filename character, and not as an include
- list separator. For example, this command would delete C:\DATA\LETTER1;V2 :
-
- [c:\] del \data\letter1[;]v2
-
-
- ΓòÉΓòÉΓòÉ 8.3. Date, Time, and Size Ranges ΓòÉΓòÉΓòÉ
-
- Most internal commands which accept wild cards also allow date, time, and size
- ranges to further define the files that you wish to work with. 4OS2 will
- examine the files' timestamps (which record when the file was last modified),
- and the files' sizes, to determine which files meet the range criteria that you
- specify.
-
- A range begins with the switch character (/), followed by a left square bracket
- ("[") and a character that specifies the range type: "s" for a size range, "d"
- for a date range, or "t" for a time range. The "s", "d", or "t" is followed by
- a start value, and an optional comma and end value. The range ends with a
- right square bracket ("]").
-
- See the individual range types for details on specifying ranges:
-
- Size Ranges
- Date Ranges
- Time Ranges
-
- Using Ranges
-
- If you combine two types of ranges, a file must satisfy both ranges to be
- included. For example, /[d2-8-95,2-9-95] /[s1024,2048] means files last
- modified between February 8 and February 9, 1995, which are also between 1,024
- and 2,048 bytes long.
-
- When you use a date, time, or size range in a command, it should immediately
- follow the command name. Unlike some command switches which apply to only
- part of the command line, the range usually applies to all file names
- specified for the command. Any exceptions are noted in the descriptions of
- individual commands.
-
- For example, to get a directory of all the *.C files dated October 1, 1994,
- you could use this command:
-
- [c:\] dir /[d10-1-94,+0] *.c
-
- To delete all of the 0-byte files on your hard disk, you could use this
- command:
-
- [c:\] del /[s0,0] *.* /s
-
- And to copy all of the non-zero byte files that you changed yesterday or today
- to your floppy disk, you can use this command:
-
- [c:\] copy /[d-1] /[s1] *.* a:
-
- Date, time, and size ranges can be used with the ATTRIB, COPY, DEL, DESCRIBE,
- DIR, EXCEPT, FOR, LIST, MOVE, RD, REN, SELECT, and TYPE commands. They cannot
- be used with filename completion or in filename arguments for variable
- functions.
-
-
- ΓòÉΓòÉΓòÉ 8.3.1. Size Ranges ΓòÉΓòÉΓòÉ
-
- Size ranges simply select files whose size is between the limits given. For
- example, /[s10000,20000] selects files between 10,000 and 20,000 bytes long.
-
- Either or both values in a size range can end with "k" to indicate thousands of
- bytes, "K" to indicate kilobytes (1,024 bytes), "m" to indicate millions of
- bytes, or "M" to indicate megabytes (1,048,576 bytes). For example, the range
- above could be rewritten as /[s10k,20k].
-
- All ranges are inclusive. Both examples above will match files that are
- exactly 10,000 bytes and 20,000 bytes long, as well as all sizes in between.
-
- The second argument of a size range is optional. If you use a single argument,
- like /[s10k], you will select files of that size or larger. You can also
- precede the second argument with a plus sign [+]; when you do, it is added to
- the first value to determine the largest file size to include in the search.
- For example, /[s10k,+1k] select files from 10,000 through 11,000 bytes in
- size.
-
- Some further examples of size ranges:
-
- Specification Selects Files
-
- /[s0,0] of length zero (empty)
- /[s1M] 1 megabyte or more in length
- /[s10k,+200] between 10,000 and 10,200 bytes
-
-
- ΓòÉΓòÉΓòÉ 8.3.2. Date Ranges ΓòÉΓòÉΓòÉ
-
- Date ranges select files that were created or last modified at any time between
- the two dates. For example, /[d12-1-94,12-5-94] selects files that were last
- modified between December 1, 1994, and December 5, 1994.
-
- The time for the starting date defaults to 00:00:00 and the time for the ending
- date defaults to 23:59:59. You can alter these defaults, if you wish, by
- including a start and stop time inside the date range. The time is separated
- from the date with an at sign [@]. For example, the range
- /[d7-1-95@8:00a,7-3-95@6:00p] selects files that were modified at any time
- between 8:00 am on July 1, 1995 and 6:00 pm on July 3, 1995. If you prefer,
- you can specify the times in 24-hour format (e.g., @18:00 for the end time in
- the previous example).
-
- If you omit the second argument in a date range, 4OS2 substitutes the current
- date and time. For example, /[d10-1-94] selects files dated between October 1,
- 1994 and today.
-
- You can use an offset value for either the beginning or ending date, or both.
- An offset begins with a plus sign [+] or a minus sign [-] followed by an
- integer. If you use an offset for the second value, it is calculated relative
- to the first. If you use an offset for the first (or only) value, the current
- date is used as the basis for calculation. For example:
-
- Specification Selects Files
-
- /[d10-27-94,+3] modified between 10-27-94 and 10-30-94
- /[d10-27-94,-3] modified between 10-24-94 and 10-27-94
- /[d-0] modified today (from today minus zero days, to today)
- /[d-1] modified yesterday or today (from today minus one day,
- to today)
- /[d-1,+0] modified yesterday (from today minus one day, to zero
- days after that)
-
- You cannot use offsets in the time portion of a date range (the part after an
- at sign), but you can combine a time with a date offset. For example,
- /[d12-8-94@12:00,+2@12:00] selects files that were last modified between noon
- on December 8 and noon on December 10, 1994. Similarly, /[d-2@15:00,+1]
- selects files last modified between 3:00 pm the day before yesterday and the
- end of the day one day after that, i.e., yesterday. The second time defaults
- to the end of the day because no time is given.
-
- The HPFS file system maintains 3 sets of dates and times for each file:
- creation, last access, and last modification. By default, date ranges work
- with the last modification date/time stamp. You can use the "last access" (a)
- or "created" (c) date/time stamp in a date range with the syntax:
-
- /[da...] or /[dc...]
-
- For example, to select files that were last accessed yesterday or today:
-
- /[da-1]
-
-
- ΓòÉΓòÉΓòÉ 8.3.3. Time Ranges ΓòÉΓòÉΓòÉ
-
- A time range specifies a file modification time without reference to the date.
- For example, to select files modified between noon and 2:00 pm on any date, use
- /[t12:00p,2:00p]. The times in a time range can either be in 12-hour format,
- with a trailing "a" for AM or "p" for PM, or in 24-hour format.
-
- If you omit the second argument in a time range, you will select files that
- were modified between the first time and the current time, on any date. You
- can also use offsets, beginning with a plus sign [+] or a minus sign [-] for
- either or both of the arguments in a time range. The offset values are
- interpreted as minutes. Some examples:
-
- Specification Selects Files
-
- /[t12:00p,+120] modified between noon and 2:00 PM on any date
- /[t-120,+120] modified between two hours ago and the
- current time on any date
- /[t0:00,11:59] modified in the morning on any date
- The HPFS file system maintains 3 sets of date and time for each file: creation,
- last access, and last modification. By default, time ranges work with the last
- modification time stamp. You can use the "last access" (a) or "created" (c)
- time stamp in a time range with the syntax:
-
- /[ta...] or /[tc...]
-
-
- ΓòÉΓòÉΓòÉ 8.4. Multiple Filenames ΓòÉΓòÉΓòÉ
-
- Most file processing commands can work with multiple files at one time. To use
- multiple file names, you simply list the files one after another on the command
- line, separated by spaces. You can use wildcards in any or all of the
- filenames. For example, to copy all .TXT and .DOC files from the current
- directory to drive A, you could use this command:
-
- [c:\] copy *.txt *.doc a:
-
- If the files you want to work with are not in the default directory, you must
- include the full path with each filename:
-
- [c:\] copy a:\details\file1.txt a:\details\file1.doc c:
-
- Multiple filenames are handy when you want to match a group of files which
- cannot be defined with a single filename and wildcards. They let you be very
- specific about which files you want to work with in a command.
-
- When you use multiple filenames with a command that expects both a source and a
- destination, like COPY or MOVE, be sure that you always include a specific
- destination on the command line. If you don't, the command will assume that
- the last filename is the destination and may overwrite important files.
-
- Like extended wildcards and include lists, the multiple filename feature will
- work with internal commands but not with external programs, unless those
- programs have been written to handle multiple file names on the command line.
-
- If you have a list of files to process that's too long to put on the command
- line or too time-consuming to type, see the SELECT command for another way of
- passing multiple file names to a command.
-
-
- ΓòÉΓòÉΓòÉ 8.5. Include Lists ΓòÉΓòÉΓòÉ
-
- Any internal command that accepts multiple filenames will also accept one or
- more include lists. An include list is simply a group of filenames, with or
- without wildcards, separated by semicolons [;]. All files in the include list
- must be in the same directory. You may not add a space on either side of the
- semicolon.
-
- For example, you can shorten this command which uses multiple file names:
-
- c:\> copy a:\details\file1.txt a:\details\file1.doc c:
-
- to this using an include list:
-
- c:\> copy a:\details\file1.txt;file1.doc c:
-
- Multiple filenames and include lists are processed differently by the DIR and
- SELECT commands. If you use multiple filenames, all of the files matching the
- first filename are processed, then all of the files matching the second name,
- and so on. When you use an include list, all files that match any entry in the
- include list are processed together, and will appear together in the directory
- display or SELECT list. You can see this difference clearly if you experiment
- with both techniques and the DIR command. For example,
-
- [c:\] dir *.txt *.doc
-
- will list all the .TXT files with a directory header, the file list, and a
- summary of the total number of files and bytes used. Then it will do the same
- for the .DOC files. However,
-
- [c:\] dir *.txt;*.doc
-
- will display all the files in one list.
-
- Like extended wildcards and multiple filenames, the include list feature will
- work with internal commands, but not with external programs (unless they have
- been programmed especially to support it).
-
-
- ΓòÉΓòÉΓòÉ 8.6. Executable Extensions ΓòÉΓòÉΓòÉ
-
- The syntax for creating an executable extension is:
-
- set .ext=command [options]
-
- This tells 4OS2 to run the specified command whenever you name a file with the
- extension .ext at the prompt.
-
- .EXT is the executable file extension; command is the name of the internal
- command, external program, alias, or batch file to run; and [options] are any
- command-line startup options you want to specify for the program, batch file,
- or alias.
-
- Normally, when you type a filename (as opposed to an alias or internal command
- name) as the first word on the command line, 4OS2 looks for a file with that
- name to execute. The file's extension may be .EXE or .COM to indicate that it
- contains a program, it may have a batch file extension like .BTM, or the file's
- contents may indicate that it is executable.
-
- You can add to this default list of extensions, and have 4OS2 take the action
- you want with files that are not executable programs or batch files. The
- action taken is always based on the file's extension. For example, you could
- start your text editor whenever you type the name of a .DOC file, or start your
- database manager whenever you type the name of a .DAT file.
-
- Environment variables define the internal command, external program, batch
- file, or alias to run for each defined file extension. To create an executable
- extension, use the SET command to create a new environment variable. An
- environment variable is recognized as an executable extension if its name
- begins with a period.
-
- For example, if you want to run a word processor called EDITOR whenever you
- type the name of a file that has an extension of .EDT, you could use this
- command:
-
- [c:\] set .edt=c:\edit\editor.exe
-
- If the command specified in an executable extension is a batch file or external
- program, 4OS2 will search the PATH for it if necessary. However, you can make
- sure that the correct program or batch file is used, and speed up the
- executable extension, by specifying the full name including drive, path,
- filename, and extension.
-
- Once an executable extension is defined, any time you name a file with that
- extension the corresponding program, batch file, or alias is started, with the
- name of your file passed to it as a parameter.
-
- The following example defines QBASIC.EXE as the processor for .BAS files:
-
- [c:\] set .bas=c:\dos\qbasic.exe /run
-
- With this definition, if you have a file named PUSHCART.BAS in the current
- directory and enter the command:
-
- [c:\] pushcart
-
- 4OS2 will execute the command:
-
- c:\dos\qbasic.exe /run pushcart.bas
-
- The next example defines B.EXE (the Brief text editor) as the processor for .C
- files:
-
- [c:\] set .c=c:\brief\b.exe -Mxyz
-
- Now, if you have a file called HELLO.C and enter the command
-
- [c:\] hello -i30
-
- This will be expanded to:
-
- c:\brief\b.exe -Mxyz hello.c -i30
-
- Notice that the text from the .C environment variable is inserted at the
- beginning of the line, including any options, followed by the original file
- name plus its extension, and then the remainder of the original command line.
-
- In order for executable extensions to work, the command, program, batch file,
- or alias must be able to interpret the command line properly. For example, if
- a program you want to run doesn't accept a file name on its command line as
- shown in these examples, then executable extensions won't work with that
- program.
-
- Executable extensions may include wildcards, so you could, for example, run
- your text editor for any file with an extension beginning with T by defining an
- executable extension called .T*. Extended wildcards (e.g., DO[CT] for .DOC and
- .DOT files) may also be used.
-
-
- ΓòÉΓòÉΓòÉ 9. Batch Files ΓòÉΓòÉΓòÉ
-
- A batch file is a file that contains a list of commands to execute. 4OS2 reads
- and interprets each line as if it had been typed at the keyboard. Like
- aliases, batch files are handy for automating computing tasks. Unlike aliases,
- batch files can be as long as you wish. Batch files take up separate disk
- space for each file, and can't usually execute quite as quickly as aliases,
- since they must be read from the disk.
-
- The topics included in this section are:
-
- .BAT, .CMD, and .BTM Files
- Echoing in Batch Files
- Batch File Parameters
- Automatic Batch Files
- Detecting 4OS2
- Batch File Compression
- Argument Quoting
- 4DOS, 4OS2, and 4DOS/NT Compatibility
- REXX Support
- EXTPROC Support
-
-
- ΓòÉΓòÉΓòÉ 9.1. .BAT, .CMD, and .BTM Files ΓòÉΓòÉΓòÉ
-
- A batch file can run in two different modes. In the first, traditional mode,
- each line of the batch file is read and executed individually. In the second
- mode, the entire batch file is read into memory at once. The second mode can
- be 5 to 10 times faster, especially if most of the commands in the batch file
- are internal commands. However, only the first mode can be used for
- self-modifying batch files (which are rare), and for batch files larger than
- 64K bytes.
-
- The batch file's extension determines its mode. Files with a .CMD extension
- are run in the slower, traditional mode. Files with a .BTM extension are run
- in the faster, more efficient mode. You can change the execution mode inside a
- batch file with the LOADBTM command.
-
-
- ΓòÉΓòÉΓòÉ 9.2. Echoing in Batch Files ΓòÉΓòÉΓòÉ
-
- By default, each line in a batch file is displayed or "echoed" as it is
- executed. You can change this behavior, if you want, in several different
- ways:
-
- Any batch file line that begins with an [@] symbol will not be
- displayed.
-
- The display can be turned off and on within a batch file with the ECHO
- OFF and ECHO ON commands.
-
- The default setting can be changed with the SETDOS /V command or the
- BatchEcho directive in the .INI file.
-
- For example, the following line turns off echoing inside a batch file. The
- [@] symbol keeps the batch file from displaying the ECHO OFF command:
-
- @echo off
-
- 4OS2 also has a command line echo that is unrelated to the batch file echo
- setting. See ECHO for details about both settings.
-
-
- ΓòÉΓòÉΓòÉ 9.3. Batch File Parameters ΓòÉΓòÉΓòÉ
-
- Like aliases and application programs, batch files can examine the command line
- that is used to invoke them. The command tail (everything on the command line
- after the batch file name) is separated into individual parameters (also called
- arguments or batch variables) by scanning for the spaces, tabs, and commas that
- separate the parameters. A batch file can work with the individual parameters
- or with the command tail as a whole.
-
- These parameters are numbered from %1 to %127. %1 refers to the first
- parameter on the command line, %2 to the second, and so on. It is up to the
- batch file to determine the meaning of each parameter. You can use quotation
- marks to pass spaces, tabs, commas, and other special characters in a batch
- file parameter; see Argument Quoting for details.
-
- Parameters that are referred to in a batch file, but which are missing on the
- command line, appear as empty strings inside the batch file. For example, if
- you start a batch file and put two parameters on the command line, any
- reference in the batch file to %3, or any higher-numbered parameter, will be
- interpreted as an empty string.
-
- A batch file can also work with three special parameters: %0 contains the name
- of the batch file as it was entered on the command line, %# contains the number
- of command line arguments, and %n$ contains the complete command-line tail
- starting with argument number "n" (for example, %3$ means the third parameter
- and all those after it). The default value of "n" is 1, so %$ contains the
- entire command tail. The values of these special parameters will change if you
- use the SHIFT command.
-
- By default, 4DOS uses an ampersand [&] instead of a dollar sign [$] to indicate
- the remainder of the command tail. For example, %& means all the parameters,
- and %2& means the second parameter and all those after it. If you want to
- share batch files or aliases between 4DOS and 4OS2, you can select a new
- character for any product with the SETDOS /P command or the ParameterChar
- directive in your .INI file.
-
- For example, if your batch file interprets the first argument as a subdirectory
- name then the following line would move to the specified directory:
-
- cd %1
-
- Batch files can also use environment variables, internal variables, and
- variable functions.
-
-
- ΓòÉΓòÉΓòÉ 9.4. Automatic Batch Files ΓòÉΓòÉΓòÉ
-
- Each time 4OS2 starts as either a primary or a secondary shell, it looks for an
- automatic batch file called 4START.BTM or 4START.CMD. If the 4START batch file
- is not in the same directory as 4OS2 itself, you should use the 4StartPath
- directive in your .INI file to specify its location. 4START is optional, so
- 4OS2 will not display an error message if it cannot find the file.
-
- Whenever a 4OS2 shell ends, it runs a third automatic batch file called
- 4EXIT.BTM, 4EXIT.CMD. This file, if you use it, should be in the same
- directory as your 4START batch file. Like 4START, 4EXIT is optional. It is
- not necessary in most circumstances, but it is a convenient place to put
- commands to save information such as a history list before a shell ends, or LOG
- the end of the shell.
-
-
- ΓòÉΓòÉΓòÉ 9.5. Detecting 4OS2 ΓòÉΓòÉΓòÉ
-
- From a batch file, you can determine if 4OS2 is loaded by testing for the
- variable function @EVAL, with a test like this:
-
- if "%@eval[2+2]" == "4" echo 4OS2 is loaded!
-
- This test can never succeed in CMD.EXE. Other variable functions could be used
- for the same purpose.
-
-
- ΓòÉΓòÉΓòÉ 9.6. Batch File Compression ΓòÉΓòÉΓòÉ
-
- You can compress your .BTM files with a program called BATCOMP.EXE, which is
- distributed with 4OS2. This program condenses batch files by about a third and
- makes them unreadable with the LIST command and similar utilities. Compressed
- batch files run at approximately the same speed as regular .BTM files.
-
- You may want to consider compressing batch files if you need to distribute them
- to others and keep your original code secret or prevent your users from
- altering them. You may also want to consider compressing batch files to save
- some disk space on the systems where the compressed files are used.
-
- The full syntax for the batch compression program is
-
- BATCOMP [/O] input file [output file ]
-
- You must specify the full name of the input file, including its extension, on
- the BATCOMP command line. If you do not specify the output file, BATCOMP will
- use the same base name as the input file and add a .BTM extension. BATCOMP
- will also add a .BTM extension if you specify a base name for the output file
- without an extension. For example, to compress MYBATCH.CMD and save the result
- as MYBATCH.BTM, you can use any of these three commands:
-
- [c:\] batcomp mybatch.cmd
- [c:\] batcomp mybatch.cmd mybatch
- [c:\] batcomp mybatch.cmd mybatch.btm
-
- If the output file (MYBATCH.BTM in the examples above) already exists, BATCOMP
- will prompt you before overwriting the file. You can disable the prompt by
- including /O on the BATCOMP command line immediately before the input file
- name. Even if you use the /O option, BATCOMP will not compress a file into
- itself.
-
- JP Software does not provide a decompression utility to uncompress batch files.
- If you use BATCOMP.EXE, make sure that you also keep a copy of the original
- batch file for future inspection or modification.
-
- Each of our command processors includes its own version of BATCOMP.EXE, set up
- to run under the corresponding operating system. However, the output produced
- by each program is the same, so a batch file compressed with any version of
- BATCOMP can be used with any JP Software command processor.
-
- If you plan to distribute batch files to users of different platforms, see
- 4DOS, 4OS2, and 4DOS/NT Compatibility.
-
-
- ΓòÉΓòÉΓòÉ 9.7. Argument Quoting ΓòÉΓòÉΓòÉ
-
- As it parses the command line, 4OS2 looks for the ampersand [&] command
- separator, conditional commands (|| or &&), white space (spaces, tabs, and
- commas), percent signs [%] which indicate variables to be expanded, and
- redirection and piping characters (>, <, or |).
-
- Normally, these special characters cannot be passed to a command as part of an
- argument. However, you can include any of the special characters in an
- argument by enclosing the entire argument in single back quotes [`] or double
- quotes ["]. Although both back quotes and double quotes will let you build
- arguments that include special characters, they do not work the same way.
-
- No alias or variable expansion is performed on an argument enclosed in back
- quotes. Redirection symbols inside the back quotes are ignored. The back
- quotes are removed from the command line before the command is executed.
-
- No alias expansion is performed on expressions enclosed in double quotes.
- Redirection symbols inside double quotes are ignored. However, variable
- expansion is performed on expressions inside double quotes. The double quotes
- themselves will be passed to the command as part of the argument.
-
- For example, suppose you have a batch file CHKNAME.BTM which expects a name as
- its first parameter (%1). Normally the name is a single word. If you need to
- pass a two-word name with a space in it to this batch file you could use the
- command:
-
- [c:\] chkname `MY NAME`
-
- Inside the batch file, %1 will have the value MY NAME, including the space.
- The back quotes caused 4OS2 to pass the string to the batch file as a single
- argument. The quotes keep characters together and reduce the number of
- arguments in the line.
-
- When an alias is defined in a batch file or from the command line, its argument
- can be enclosed in back quotes to prevent the expansion of replaceable
- parameters, variables, and multiple commands until the alias is invoked. See
- ALIAS for details.
-
- You can disable and re-enable back quotes and double quotes with the SETDOS /X
- command.
-
-
- ΓòÉΓòÉΓòÉ 9.8. 4DOS, 4OS2, and 4DOS/NT Compatibility ΓòÉΓòÉΓòÉ
-
- If you use two or more of our products, or if you want to share aliases and
- batch files with users of different products, you need to be aware of the
- differences in three important characters: the Command Separator (see Multiple
- Commands), the Escape Character (see Escape Character), and the Parameter
- Character (see Batch File Parameters).
-
- The default values of each of these characters in each product is shown in the
- following chart (in this section, <Ctrl-X> stands for the ASCII Ctrl-X
- character, numeric value 24. This character appears on your screen as an
- up-arrow [].):
-
- Character 4DOS Default 4OS2 and 4NT Default
-
- Command Separator ^ &
- Escape Character <Ctrl-X> ^
- Parameter Character & $
-
- In your batch files and aliases, and even at the command line, you can smooth
- over these differences in two ways:
-
- * Select a consistent set of characters with .INI file configuration
- directives or the SETDOS command. For example, to set the 4OS2
- characters to match 4DOS, use:
-
- CommandSep = ^
- EscapeChar = <Ctrl-X>
- ParameterChar = &
-
- in 4OS2.INI.
-
- * Use internal variables that contain the current special character,
- rather than using the character itself (see + and =). For example,
- this command:
-
- if "%1" == "" (echo Argument missing! ^ quit)
-
- will only work if the command separator is a caret. However, this
- version works regardless of the current command separator:
-
- if "%1" == "" (echo Argument missing! %+ quit)
-
-
- The following chart shows the correspondence between the appropriate SETDOS
- command options, .INI file directives, and internal variables:
-
- Special SETDOS INI File Internal
- Character Switch Directive Variable
-
- Command Separator /C CommandSep %+
- Escape Character /E EscapeChar %=
- Parameter Character /P ParameterChar (none)
-
-
- ΓòÉΓòÉΓòÉ 9.9. REXX Support ΓòÉΓòÉΓòÉ
-
- REXX is a a powerful file and text processing language developed by IBM, and
- available on many PC and other platforms. REXX is an ideal extension to the
- 4OS2 batch language, especially if you need advanced string processing
- capabilities.
-
- The REXX language is not built into 4OS2. Under IBM OS/2 1.3 and above you can
- use the built-in REXX language provided by IBM, or use Personal REXX for OS/2,
- developed by Quercus Systems of Saratoga, CA. (Personal REXX is available from
- JP Software or directly from Quercus Systems.)
-
- REXX programs are stored in .CMD files. 4OS2 checks to see if the first two
- characters on the first line of a .CMD file are [/*], the beginning of a REXX
- comment. If so, it passes the file to OS/2's built-in REXX facility for
- processing. If Personal REXX for OS/2 is installed, it automatically replaces
- OS/2's built-in REXX, and handles all REXX commands passed by 4OS2.
-
- Both Personal REXX and OS/2's built-in REXX extend the interface between REXX
- and 4OS2 by allowing you to invoke 4OS2 commands from within a REXX program.
- For details, or for more information on any aspect of REXX, see your Personal
- REXX or OS/2 REXX documentation.
-
-
- ΓòÉΓòÉΓòÉ 9.10. EXTPROC Support ΓòÉΓòÉΓòÉ
-
- 4OS2 offers an external processor (EXTPROC) option for batch files that lets
- you define an external program to process a particular .CMD file. To identify
- a .CMD file to be used with an external processor, place the string "EXTPROC"
- as the first word on the first line of the file, followed by the name of the
- external program that should be called. 4OS2 will start the program and pass
- it the name of the .CMD file and any command-line arguments that were entered.
-
- For example, suppose GETDATA.CMD contains the following lines:
-
- EXTPROC D:\DATAACQ\DATALOAD.EXE
- OPEN PORT1
- READ 4000
- DISKWRITE D:\DATAACQ\PORT1\RAW
-
- Then if you entered the command:
-
- [d:\dataacq] getdata /p17
-
- 4OS2 would read the GETDATA.CMD file, determine that it began with an EXTPROC
- command, read the name of the processor program, and then execute the command:
-
- D:\DATAACQ\DATALOAD.EXE D:\DATAACQ\GETDATA.CMD /p17
-
- The hypothetical DATALOAD.EXE program would then be responsible for reopening
- the GETDATA.CMD file, ignoring the EXTPROC line at the start, and interpreting
- the other instructions in the file. It would also have to respond appropriately
- to the command-line parameter entered (/p17).
-
- Do not try to use 4OS2 as the external processor named on the EXTPROC line in
- the .CMD file. It will interpret the EXTPROC line as a command to re-open
- themselves. The result will be an infinite loop that will continue until the
- computer runs out of resources and locks up.
-
-
- ΓòÉΓòÉΓòÉ 10. The Environment ΓòÉΓòÉΓòÉ
-
- The environment is a collection of information about your computer that every
- program receives. Each entry in the environment consists of a variable name,
- followed by an equal sign and a string of text. You can automatically
- substitute the text for the variable name in any command. To create the
- substitution, include a percent sign [%] and a variable name on the command
- line or in an alias or batch file.
-
- The following environment variables have special meanings in 4OS2:
-
- CDPATH
- CMDLINE
- COLORDIR
- COMSPEC
- PATH
- PROMPT
-
- 4OS2 also supports two special types of variables. Internal variables are
- similar to environment variables, but are stored internally within 4OS2, and
- are not visible in the environment. They provide information about your
- system for use in batch files and aliases. Variable functions are referenced
- like environment variables, but perform additional functions like file
- handling, string manipulation and arithmetic calculations.
-
- The SET command is used to create environment variables. For example, you can
- create a variable named BACKUP like this:
-
- [c:\] set BACKUP=*.bak;*.bk!;*.bk
-
- If you then type
-
- [c:\] del %BACKUP
-
- it is equivalent to the following command:
-
- del *.bak;*.bk!;*.bk
-
- The variable names you use this way may contain any alphabetic or numeric
- characters, the underscore character [_], and the dollar sign [$]. You can
- force acceptance of other characters by including the full variable name in
- square brackets, like this: %[AB##2]. You can also "nest" environment
- variables using square brackets. For example %[%var1] means "the contents of
- the variable whose name is stored in VAR1". A variable referenced with this
- technique cannot contain more than 255 characters of information. Nested
- variable expansion can be disabled with the SETDOS /X command.
-
- In 4OS2 the size of the environment is set automatically, and increased as
- needed when you add variables.
-
- The trailing percent sign that was traditionally required for environment
- variable names is not usually required in 4OS2, which accept any character
- that cannot be part of a variable name as the terminator. However, the
- trailing percent can be used to maintain compatibility.
-
- The trailing percent sign is needed if you want to join two variable values.
- The following examples show the possible interactions between variables and
- literal strings. First, create two environment variables called ONE and TWO
- this way:
-
- [c:\] set ONE=abcd
- [c:\] set TWO=efgh
-
- Now the following combinations produce the output text shown:
-
- %ONE%TWO abcdTWO ("%ONE%" + "TWO")
- %ONE%TWO% abcdTWO ("%ONE%" + "TWO%")
- %ONE%%TWO abcdefgh ("%ONE%" + "%TWO")
- %ONE%%TWO% abcdefgh ("%ONE%" + "%TWO%")
- %ONE%[TWO] abcd[TWO] ("%ONE%" + "[TWO]")
- %ONE%[TWO]% abcd[TWO] ("%ONE%" + "[TWO]%")
- %[ONE]%TWO abcdefgh ("%[ONE]" + "%TWO")
- %[ONE]%TWO% abcdefgh ("%[ONE]" + "%TWO%")
-
- If you want to pass a percent sign to a command, or a string which includes a
- percent sign, you must use two percent signs in a row. Otherwise, the single
- percent sign will be seen as the beginning of a variable name and will not be
- passed on to the command. For example, to display the string "We're with you
- 100%" you would use the command:
-
- echo We're with you 100%%
-
- You can also use back quotes around the text, rather than a double percent
- sign. See Argument Quoting for details.
-
-
- ΓòÉΓòÉΓòÉ 10.1. CDPATH ΓòÉΓòÉΓòÉ
-
- CDPATH tells 4OS2 where to search for directories specified by the CD, CDD, and
- PUSHD commands and in automatic directory changes. (_CDPATH can be used as an
- alternative to CDPATH if you are using Microsoft Bookshelf, which uses a CDPATH
- variable for its own purposes.)
-
- CDPATH is composed of a list of directories, separated by semicolons [;]. If
- CD, CDD, PUSHD, or an automatic directory change can't locate the specified
- directory to change to, they will append the specified directory name to each
- directory in CDPATH and attempt to change to that drive and directory, until
- the first match or the end of the CDPATH argument. This allows you to use
- CDPATH as a quick way to find commonly used subdirectories which have unique
- names. For example, if you are currently in the directory
- C:\WP\LETTERS\JANUARY and you'd like to change to D:\SOFTWARE\UTIL, you could
- enter the command:
-
- [c:\wp\letters\january] cdd d:\software\util
-
- However, if the D:\SOFTWARE directory is listed in your CDPATH variable, and is
- the first directory in the list with a UTIL subdirectory, you can simply enter
- the command
-
- [c:\wp\letters\january] cdd util
-
- to change to D:\SOFTWARE\UTIL.
-
- You can create CDPATH with the SET command. For example, if you want the
- directory change commands to search the C:\DATA directory, the D:\SOFTWARE
- directory, and the root directory of drive E:\ for the subdirectories that you
- name, you should create CDPATH with this command:
-
- [c:\] set cdpath=c:\data;d:\software;e:\
-
-
- ΓòÉΓòÉΓòÉ 10.2. CMDLINE ΓòÉΓòÉΓòÉ
-
- CMDLINE is the fully expanded text of the currently executing command line.
- CMDLINE is set just before invoking any .COM, .EXE, .BTM, .BAT, or .CMD file.
- If a command line is prefaced with an "@" to prevent echoing, it will not be
- put in CMDLINE, and any previous CMDLINE variable will be removed from the
- environment.
-
-
- ═══ 10.3.  COLORDIR ═══
-
- COLORDIR controls directory display colors used by DIR and SELECT. See
- Color-Coded Directories for a complete description of the format of this
- variable.
-
-
- ΓòÉΓòÉΓòÉ 10.4. COMSPEC ΓòÉΓòÉΓòÉ
-
- COMSPEC contains the full path and name of 4OS2. For example, if 4OS2 is
- stored in the directory C:\4OS2, the COMSPEC variable should be set to
- C:\4OS2\4OS2.EXE. COMSPEC is used by applications which need to find 4OS2 to
- implement a "shell to the command prompt" feature.
-
- You can set the COMSPEC variable by specifying the COMSPEC path with a SET
- COMSPEC command in CONFIG.SYS, or including the COMSPEC path on the 4OS2
- startup command line.
-
-
- ═══ 10.5.  PATH ═══
-
- PATH is a list of directories that 4OS2 will search for executable files that
- aren't in the current directory. PATH may also be used by some application
- programs to find their own files. See the PATH command for a full description
- of this variable.
-
-
- ═══ 10.6.  PROMPT ═══
-
- PROMPT defines the command-line prompt. It can be set or changed with the
- PROMPT command.
-
-
- ΓòÉΓòÉΓòÉ 11. Internal Variables ΓòÉΓòÉΓòÉ
-
- Internal variables are special variables built into 4OS2 to provide information
- about your system. They are not actually stored in the environment, but can be
- used in commands, aliases, and batch files just like any environment variable.
- The values of these variables are stored internally in 4OS2, and cannot be
- changed with the SET, UNSET, or ESET command. However, you can override any of
- these variables by defining a new variable with the same name.
-
- The list below gives a one-line description of each variable, and a
- cross-reference which selects a full screen help topic on that variable. Most
- of the variables are simple enough that the one-line description is sufficient.
- However, for those variables marked with an asterisk [*], the cross-reference
- topic contains some additional information you may wish to review. You can
- also obtain help on any variable with a HELP variablename command at the prompt
- (this is why each variable has its own topic, in addition to its appearance in
- the list below).
-
- See the discussion after the variable list for some additional information, and
- examples of how these variables can be used.
-
- The variables are:
-
- Hardware status
-
- _CPU CPU type (86, 186, 200, 386, 486, 586)
- _MONITOR Monitor type (mono or color)
- _NDP Coprocessor type (0, 87, 287, 387)
- _VIDEO Video board type (mono, cga, ega, vga, xga, 8514, or
- IA/A)
-
- Operating system and software status
-
- _ANSI ANSI status (always 1 in 4OS2)
- _BOOT Boot drive letter, without a colon
- _CODEPAGE Current code page number
- _COUNTRY Current country code
- _DOS * Operating system (DOS, OS2, or NT)
- _DOSVER * Operating system version (2.1, 3.0, etc.)
- _KBHIT Keystroke waiting in buffer (0 or 1)
- _MOUSE Mouse driver flag (always 1 in 4OS2)
-
- Command processor status
-
- _4VER 4OS2 version (2.5, 2.51, etc.)
- _BATCH Batch nesting level
- _BATCHLINE Current line number in current batch file
- _BATCHNAME Name of current batch file
- _DNAME Name of file used to store file descriptions
- _HLOGFILE Current history log file name
- _LOGFILE Current log file name
- _PID 4OS2 process ID (numeric)
- _PIPE Whether running in a pipe
- _PPID Parent process ID (numeric)
- _PTYPE OS/2 session type (AVIO, DT, FS, PM)
- _SHELL Shell level (0, 1, 2, ...)
- _SID Current OS/2 session ID
- _TRANSIENT * Transient shell flag (0 or 1)
- _WINTITLE Current window title
-
- Screen and color
-
- _BG Background color at cursor position
- _COLUMN Current cursor column
- _COLUMNS Screen width
- _FG Foreground color at cursor position
- _ROW Current cursor row
- _ROWS Screen height
-
- Drives and directories
-
- _CWD Current drive and directory (d:\path)
- _CWDS Current drive and directory with trailing \ (d:\path\)
- _CWP Current directory (\path)
- _CWPS Current directory with trailing \ (\path\)
- _DISK Current drive (C, D, etc.)
- _LASTDISK Last possible drive (E, F, etc.)
-
- Dates and times
-
- _DATE * Current date (mm-dd-yy)
- _DAY Day of the month (1 - 31)
- _DOW Day of the week (Mon, Tue, Wed, etc.)
- _DOY Day of the year (1 - 366)
- _HOUR Hour (0 - 23)
- _MINUTE Minute (0 - 59)
- _MONTH Month of the year (1 - 12)
- _SECOND Second (0 - 59)
- _TIME * Current time (hh:mm:ss)
- _YEAR Year (1980 - 2099)
-
- Error codes
-
- ? * Exit code, last external program
- _? * Exit code, last internal command
- _SYSERR * Last OS/2 error code
-
- Compatibility
-
- = * Substitutes escape character
- + * Substitutes command separator
-
- Examples
-
- You can use these variables in a wide variety of ways depending on your needs.
- Here are just a few examples. Some of these examples rely on the IF and IFF
- commands to test the value of a variable and perform different actions based
- on that value.
-
- In a batch file, set the color based on the video card type:
-
- iff "%_video"=="mono" then
- color bright white on black
- else
- color bright white on blue
- endiff
-
- Store the current date and time in a file, then save the output of a DIR
- command in the same file:
-
- echo Directory as of %_date %_time > dirsave
- dir >> dirsave
-
- Set up a prompt for the primary shell which displays the time and current
- directory, and a different one for secondary shells which includes the shell
- level rather than the time (see PROMPT for details about setting the prompt).
- Also set different background colors for the two shells, without changing the
- foreground color. You might use a sequence like this in your 4START file (see
- Automatic Batch Files):
-
- iff %_shell==0 then
- prompt $t $p$g
- color %_fg on blue
- else
- prompt [$z] $p$g
- color %_fg on cyan
- endiff
-
-
- ═══ 11.1.  ? ═══
-
- ? contains the exit code of the last external command. Many programs return a
- "0" to indicate success and a non-zero value to signal an error. However, not
- all programs return an exit code. If no explicit exit code is returned, the
- value of %? is undefined.
-
-
- ΓòÉΓòÉΓòÉ 11.2. _? ΓòÉΓòÉΓòÉ
-
- _? contains the exit code of the last internal command. It is set to "0" if
- the command was successful, "1" if a usage error occurred, "2" if another
- command processor error or an operating system error occurred, or "3" if the
- command was interrupted by Ctrl-C or Ctrl-Break. You must use or save this
- value immediately, because it is set by every internal command.
-
-
- ΓòÉΓòÉΓòÉ 11.3. = ΓòÉΓòÉΓòÉ
-
- = returns the current escape character. Use this variable, instead of the
- actual escape character, if you want your batch files and aliases to work
- regardless of how the escape character is defined. For example, if the escape
- character is a caret [^] (the default in 4OS2) both of the commands below will
- send a form feed to the printer. However, if the escape character has been
- changed, the first command will send the string "^f" to the printer, while the
- second command will continue to work as intended.
-
- echos ^f > prn
- echos %=f > prn
-
-
- ΓòÉΓòÉΓòÉ 11.4. + ΓòÉΓòÉΓòÉ
-
- + returns the current command separator. Use this variable, instead of the
- actual command separator, if you want your batch files and aliases to work
- regardless of how the command separator is defined. For example, if the
- command separator is an ampersand [&] (the default in 4OS2) both of the
- commands below will display "Hello" on one line and "world" on the next.
- However, if the command separator has been changed the first command will
- display "Hello & echo world", while the second command will continue to work as
- intended.
-
- echo Hello & echo world
- echo Hello %+ echo world
-
-
- ΓòÉΓòÉΓòÉ 11.5. _4VER ΓòÉΓòÉΓòÉ
-
- _4VER is the current 4OS2 version (for example, "2.5").
-
-
- ΓòÉΓòÉΓòÉ 11.6. _ANSI ΓòÉΓòÉΓòÉ
-
- _ANSI is always "1" in 4OS2. (4OS2 enables OS/2's ANSI support, and assumes
- that it remains enabled.)
-
-
- ΓòÉΓòÉΓòÉ 11.7. _BATCH ΓòÉΓòÉΓòÉ
-
- _BATCH is the current batch nesting level. It is "0" if no batch file is
- currently being processed.
-
-
- ΓòÉΓòÉΓòÉ 11.8. _BATCHLINE ΓòÉΓòÉΓòÉ
-
- _BATCHLINE is the current line number in the current batch file. It is "-1" if
- no batch file is currently being processed.
-
-
- ΓòÉΓòÉΓòÉ 11.9. _BATCHNAME ΓòÉΓòÉΓòÉ
-
- _BATCHNAME is the full pathname of the current batch file. It is an empty
- string if no batch file is currently being processed.
-
-
- ΓòÉΓòÉΓòÉ 11.10. _BG ΓòÉΓòÉΓòÉ
-
- _BG is a string containing the first three characters of the screen background
- color at the current cursor location (for example, "Bla").
-
-
- ΓòÉΓòÉΓòÉ 11.11. _BOOT ΓòÉΓòÉΓòÉ
-
- _BOOT is the boot drive letter, without a colon.
-
-
- ΓòÉΓòÉΓòÉ 11.12. _CODEPAGE ΓòÉΓòÉΓòÉ
-
- _CODEPAGE is the current code page number (see CHCP).
-
-
- ΓòÉΓòÉΓòÉ 11.13. _COLUMN ΓòÉΓòÉΓòÉ
-
- _COLUMN is the current cursor column (for example, "0" for the left side of the
- screen).
-
-
- ΓòÉΓòÉΓòÉ 11.14. _COLUMNS ΓòÉΓòÉΓòÉ
-
- _COLUMNS is the current number of screen columns (for example, "80").
-
-
- ΓòÉΓòÉΓòÉ 11.15. _COUNTRY ΓòÉΓòÉΓòÉ
-
- _COUNTRY is the current country code.
-
-
- ΓòÉΓòÉΓòÉ 11.16. _CPU ΓòÉΓòÉΓòÉ
-
- _CPU is the CPU type:
-
- 86 8086 and 8088
- 186 80186 and 80188
- 200 NEC V20 and V30
- 286 80286
- 386 i386
- 486 i486
- 586 Pentium
-
-
- ΓòÉΓòÉΓòÉ 11.17. _CWD ΓòÉΓòÉΓòÉ
-
- _CWD is the current working directory in the format d:\pathname.
-
-
- ΓòÉΓòÉΓòÉ 11.18. _CWDS ΓòÉΓòÉΓòÉ
-
- _CWDS has the same value as CWD, except it ends the pathname with a backslash
- [\].
-
-
- ΓòÉΓòÉΓòÉ 11.19. _CWP ΓòÉΓòÉΓòÉ
-
- _CWP is the current working directory in the format \pathname.
-
-
- ΓòÉΓòÉΓòÉ 11.20. _CWPS ΓòÉΓòÉΓòÉ
-
- _CWPS has the same value as CWP, except it ends the pathname with a backslash
- [\].
-
-
- ΓòÉΓòÉΓòÉ 11.21. _DATE ΓòÉΓòÉΓòÉ
-
- _DATE contains the current system date, in the format mm-dd-yy (U.S.), dd-mm-yy
- (Europe), or yy-mm-dd (Japan).
-
-
- ΓòÉΓòÉΓòÉ 11.22. _DAY ΓòÉΓòÉΓòÉ
-
- _DAY is the day of the month (1 to 31).
-
-
- ΓòÉΓòÉΓòÉ 11.23. _DISK ΓòÉΓòÉΓòÉ
-
- _DISK is the current disk drive, without a colon (for example, "C").
-
-
- ΓòÉΓòÉΓòÉ 11.24. _DOS ΓòÉΓòÉΓòÉ
-
- _DOS is the operating system type ("DOS", "OS2", or "NT"). 4DOS always returns
- "DOS", 4OS2 always returns "OS2", and 4DOS/NT always returns "NT". This may be
- useful if you have batch files running under more than one operating system.
-
-
- ΓòÉΓòÉΓòÉ 11.25. _DNAME ΓòÉΓòÉΓòÉ
-
- _DNAME is the name of the file used to store file descriptions. It can be
- changed with the DescriptionName directive in 4OS2.INI.
-
-
- ΓòÉΓòÉΓòÉ 11.26. _DOSVER ΓòÉΓòÉΓòÉ
-
- _DOSVER is the current operating system version (for example, "3.0").
-
-
- ΓòÉΓòÉΓòÉ 11.27. _DOW ΓòÉΓòÉΓòÉ
-
- _DOW is the first three characters of the current day of the week ("Mon",
- "Tue", "Wed", etc.).
-
-
- ΓòÉΓòÉΓòÉ 11.28. _DOY ΓòÉΓòÉΓòÉ
-
- _DOY is the day of the year (1 to 366).
-
-
- ΓòÉΓòÉΓòÉ 11.29. _FG ΓòÉΓòÉΓòÉ
-
- _FG is a string containing the first three letters of the screen foreground
- color at the current cursor position (for example, "Whi").
-
-
- ΓòÉΓòÉΓòÉ 11.30. _HLOGFILE ΓòÉΓòÉΓòÉ
-
- _HLOGFILE returns the name of the current history log file (or an empty string
- if LOG /H is OFF).
-
-
- ΓòÉΓòÉΓòÉ 11.31. _HOUR ΓòÉΓòÉΓòÉ
-
- _HOUR is the current hour (0 - 23).
-
-
- ΓòÉΓòÉΓòÉ 11.32. _KBHIT ΓòÉΓòÉΓòÉ
-
- _KBHIT returns 1 if one or more keystrokes are waiting in the keyboard buffer,
- or 0 if the keyboard buffer is empty.
-
-
- ΓòÉΓòÉΓòÉ 11.33. _LASTDISK ΓòÉΓòÉΓòÉ
-
- _LASTDISK is the last valid drive letter, without a colon.
-
-
- ΓòÉΓòÉΓòÉ 11.34. _LOGFILE ΓòÉΓòÉΓòÉ
-
- _LOGFILE returns the name of the current log file (or an empty string if LOG
- is OFF).
-
-
- ΓòÉΓòÉΓòÉ 11.35. _MINUTE ΓòÉΓòÉΓòÉ
-
- _MINUTE is the current minute (0 - 59).
-
-
- ΓòÉΓòÉΓòÉ 11.36. _MONITOR ΓòÉΓòÉΓòÉ
-
- _MONITOR is the monitor type ("mono" or "color").
-
-
- ΓòÉΓòÉΓòÉ 11.37. _MONTH ΓòÉΓòÉΓòÉ
-
- _MONTH is the month of the year (1 to 12).
-
-
- ΓòÉΓòÉΓòÉ 11.38. _MOUSE ΓòÉΓòÉΓòÉ
-
- _MOUSE always returns "1" in 4OS2.
-
-
- ΓòÉΓòÉΓòÉ 11.39. _NDP ΓòÉΓòÉΓòÉ
-
- _NDP is the coprocessor type:
-
- 0 no coprocessor is installed
- 87 8087
- 287 80287
- 387 80387, 80486DX, or Pentium
-
-
- ΓòÉΓòÉΓòÉ 11.40. _PID ΓòÉΓòÉΓòÉ
-
- _PID is the current process ID number.
-
-
- ΓòÉΓòÉΓòÉ 11.41. _PIPE ΓòÉΓòÉΓòÉ
-
- _PIPE returns 1 if the current process is running inside a pipe or 0 otherwise.
-
-
- ΓòÉΓòÉΓòÉ 11.42. _PPID ΓòÉΓòÉΓòÉ
-
- _PPID is the process ID number of the parent process.
-
-
- ΓòÉΓòÉΓòÉ 11.43. _PTYPE ΓòÉΓòÉΓòÉ
-
- _PTYPE is the current OS/2 process type:
-
- AVIO Character mode, windowed
- DT Detached (no screen in use)
- FS Character mode, full-screen
- PM Presentation Manager
-
-
- ΓòÉΓòÉΓòÉ 11.44. _ROW ΓòÉΓòÉΓòÉ
-
- _ROW is the current cursor row (for example, "0" for the top of the screen).
-
-
- ΓòÉΓòÉΓòÉ 11.45. _ROWS ΓòÉΓòÉΓòÉ
-
- _ROWS is the current number of screen rows (for example, "25").
-
-
- ΓòÉΓòÉΓòÉ 11.46. _SECOND ΓòÉΓòÉΓòÉ
-
- _SECOND is the current second (0 - 59).
-
-
- ΓòÉΓòÉΓòÉ 11.47. _SHELL ΓòÉΓòÉΓòÉ
-
- _SHELL is the current shell nesting level. The primary shell is level "0", and
- each subsequent secondary shell increments the level by 1.
-
-
- ΓòÉΓòÉΓòÉ 11.48. _SID ΓòÉΓòÉΓòÉ
-
- _SID is the session ID number.
-
-
- ΓòÉΓòÉΓòÉ 11.49. _SYSERR ΓòÉΓòÉΓòÉ
-
- _SYSERR is the error code of the last operating system error. You will need a
- technical or programmer's manual to understand these error values.
-
-
- ΓòÉΓòÉΓòÉ 11.50. _TIME ΓòÉΓòÉΓòÉ
-
- _TIME contains the current system time in the format hh:mm:ss. The separator
- character may vary depending upon your country information.
-
-
- ΓòÉΓòÉΓòÉ 11.51. _TRANSIENT ΓòÉΓòÉΓòÉ
-
- _TRANSIENT is "1" if the current shell is transient (started with a /C, see
- Startup Options for details), or "0" otherwise.
-
-
- ΓòÉΓòÉΓòÉ 11.52. _VIDEO ΓòÉΓòÉΓòÉ
-
- _VIDEO is the video card type ("mono", "cga", "ega", "vga", "xga", "8514", or
- "IA/A").
-
-
- ΓòÉΓòÉΓòÉ 11.53. _WINTITLE ΓòÉΓòÉΓòÉ
-
- _WINTITLE returns the title of the current window.
-
-
- ΓòÉΓòÉΓòÉ 11.54. _YEAR ΓòÉΓòÉΓòÉ
-
- _YEAR is the current year (1980 to 2099).
-
-
- ΓòÉΓòÉΓòÉ 12. Variable Functions ΓòÉΓòÉΓòÉ
-
- Variable functions are like internal variables, but they take one or more
- arguments (which can be environment variables or even other variable functions)
- and they return a value.
-
- The list below gives a one-line description of each function, and a
- cross-reference which selects a full screen help topic on that function. A few
- of the variables are simple enough that the one-line description is sufficient,
- but in most cases you should check for any additional information in the
- cross-reference topic if you are not already familiar with a function. You can
- also obtain help on any function with a HELP @functionname command at the
- prompt.
-
- See the discussion after the function list for additional information and
- examples.
-
- The variable functions are:
-
- System status
-
- @DOSMEM[b|k|m] Size of largest free memory block
- @READSCR[row,col,len] Read characters from the screen
-
- Drives and devices
-
- @CDROM[d:] CD-ROM drive detection (0 or 1)
- @DEVICE[name] Character device detection
- @DISKFREE[d:,b|k|m] Free disk space
- @DISKTOTAL[d:,b|k|m] Total disk space
- @DISKUSED[d:,b|k|m] Used disk space
- @FSTYPE[d:] File system type (FAT, HPFS, CDFS,
- etc.)
- @LABEL[d:] Volume label
- @READY[d:] Drive ready status (0 or 1)
- @REMOTE[d:] Remote (network) drive detection (0
- or 1)
- @REMOVABLE[d:] Removable drive detection (0 or 1)
-
- Files
-
- @ATTRIB[filename,[nrhsda]] File attribute test (0 or 1)
- @DESCRIPT[filename] File description
- @EXETYPE[filename] Executable file type (DOS, PM, WIN,
- etc.)
- @FILEAGE[filename] File age (date and time)
- @FILECLOSE[n] Close a file
- @FILEDATE[filename] File date
- @FILEOPEN[filename,mode] Open a file
- @FILEREAD[n [,length]] Read next line from a file
- @FILES[filename [, -nrhsda]] Count files matching a wildcard
- @FILESEEK[n,offset,start] Move a file pointer to an offset
- @FILESEEKL[n,offset,start] Move a file pointer to a line
- number
- @FILESIZE[filename,b|k|m] Size of files matching a wildcard
- @FILETIME[filename] File time
- @FILEWRITE[n,text] Write next line to a file
- @FILEWRITEB[n,length,string] Write bytes from a string to a file
- @FINDFIRST[filename,nrhsda] Find first matching file
- @FINDNEXT[filename,nrhsda] Find next matching file
- @LINE[filename,n] Read a random line from a file
- @LINES[filename] Count lines in a file
- @SEARCH[filename] Path search
- @UNIQUE[d:\path] Create file with unique name
-
- File names
-
- @EXT[filename] File extension
- @FILENAME[filename] File name and extension
- @FULL[filename] Full file name with path
- @NAME[filename] File name without path or extension
- @PATH[filename] File path without name
-
- Strings and characters
-
- @ASCII[c] Numeric ASCII value for a character
- @CHAR[n] Character value for numeric ASCII
- @FORMAT[[-][x][.y],string] Formats (justifies) a string
- @INDEX[string1,string2] Position of one string in another
- @INSTR[start,length,string] Extract a substring
- @LEN[string] Length of a string
- @LOWER[string] Convert string to lower case
- @ REPEAT[c,n] Repeat a character
- @SUBSTR[string,start,length] Extract a substring
- @TRIM[string] Remove blanks from a string
- @UPPER[string] Convert string to upper case
- @WORD[["sep",]n,string] Extract a word from a string
- @WORDS[["sep",]string] Counts number of words in a string
-
- Numbers and arithmetic
-
- @COMMA[n] Inserts commas in a number
- @DEC[%var] Decremented value of a variable
- @EVAL[expression] Arithmetic calculations
- @INC[%var] Incremented value of a variable
- @INT[n] Integer part of a number
- @NUMERIC[string] Test if a string is numeric
- @RANDOM[min,max] Generate a random integer
-
- Dates and times
-
- @DATE[mm-dd-yy] Convert date to number of days
- @MAKEAGE[n] Convert date/time to file date/time
- @MAKEDATE[n] Convert number of days to date
- @MAKETIME[n] Convert number of seconds to time
- @TIME[hh:mm:ss] Convert time to number of seconds
- @TIMER[n] Elapsed time of specified timer
-
- Utility
-
- @ALIAS[name] Value of an alias
- @IF[condition,true,false] Evaluates a test condition
- @EXEC[command] Execute a command
- @REXX[expr] Execute a REXX expression
- @SELECT[file,t,l,b,r,title] Menu selection
-
- Like all environment variables, these variable functions must be preceded by a
- percent sign (%@EVAL, %@LEN, etc.). All variable functions must have square
- brackets enclosing their argument(s). The argument(s) to a variable function
- cannot exceed 255 characters in length for all arguments taken as a group.
-
- Some variable functions, like @DISKFREE, are shown with "b|k|m" as one of
- their arguments. Those functions return a number of bytes, kilobytes, or
- megabytes based on the "b|k|m" argument:
-
- b return the number of bytes
- K return the number of kilobytes (bytes / 1,024)
- k return the number of thousands of bytes (bytes / 1,000)
- M return the number of megabytes (bytes / 1,048,576)
- m return the number of millions of bytes (bytes / 1,000,000)
-
- You can include commas in the results from a "b|k|m" function by appending a
- "c" to the argument. For example, to add commas to a "b" or number of bytes
- result, enter "bc" as the argument.
-
- In variable functions which take a drive letter as an argument, like @DISKFREE
- or @READY, the drive letter must be followed by a colon. The function will
- not work properly if you use the drive letter without the colon.
-
- The @FILEREAD, @FILEWRITE, @FILESEEK, and @FILECLOSE functions allow you to
- access files based on their file handle. These functions should only be used
- with file handles returned by @FILEOPEN! If you use them with any other file
- handle you may damage other files opened by 4OS2 (or, in a secondary shell,
- the program which started 4OS2), or hang your system.
-
- Examples
-
- You can use variable functions in a wide variety of ways depending on your
- needs. We've included a few examples below to give you an idea of what's
- possible.
-
- To set the prompt to show the amount of free memory (see PROMPT for details on
- including variable functions in your prompt):
-
- [c:\] prompt (%%@dosmem[K]K) $p$g
-
- Set up a simple command-line calculator. The calculator is used with a
- command like CALC 3 * (4 + 5):
-
- [c:\] alias calc `echo The answer is: %@eval[%&]`
-
- The following batch file uses variable functions to implement "once a day"
- execution of a group of commands. It works by constructing a 6-digit number
- "yymmdd" from today's date, and comparing that to a number of the same type
- stored in the file C:\ONCEADAY.DAT. If today's date is numerically larger than
- the saved date, and the time is after 6:00 AM, then the "once a day" commands
- are run, and today's date is saved in the file as the new date for comparison.
- Otherwise, no action is taken. You can make this file simpler using the
- %@DATE and %@TIME functions instead of using %@SUBSTR to extract substrings of
- the %_DATE and %_TIME variables; we used the approach shown to demonstrate the
- use of %@SUBSTR.
-
- rem Temporary variables used to shorten example lines:
- rem DD is _date, DY is yymmdd date, TM is _time
- set dd=%_date
- set dy=%@substr[%dd,6,2]%@substr[%dd,0,2]%@substr[%dd,3,2]
- set lastdate=0
- iff exist c:\onceaday.dat then
- set lastdate=%@line[onceaday.dat,0]
- endiff
- iff %dy gt %lastdate then
- set tm=%_time
- iff "%@substr[%tm,0,2]%@substr[%tm,3,2]" gt "0600" then
- rem Commands to be executed once a day go here
- echo %dy > c:\onceaday.dat
- endiff
- endiff
-
-
- ΓòÉΓòÉΓòÉ 12.1. @ALIAS ΓòÉΓòÉΓòÉ
-
- @ALIAS[name]: Returns the contents of the specified alias as a string, or a
- null string if the alias doesn't exist. When manipulating strings returned by
- @ALIAS you may need to disable certain special characters with the SETDOS /X
- command. Otherwise, command separators, redirection characters, and other
- similar "punctuation" in the alias may be interpreted as part of the current
- command, rather than part of a simple text string.
-
-
- ΓòÉΓòÉΓòÉ 12.2. @ASCII ΓòÉΓòÉΓòÉ
-
- @ASCII[c]: Returns the numeric value of the specified ASCII character as a
- string. For example %@ASCII[A] returns 65. You can put an escape character
- [^] before the actual character to process. This allows quotes and other
- special characters as the argument (e.g., %@ASCII[^`]).
-
-
- ΓòÉΓòÉΓòÉ 12.3. @ATTRIB ΓòÉΓòÉΓòÉ
-
- @ATTRIB[filename,[nrhsda]]: Returns a "1" if the specified file has the
- matching attribute(s); otherwise returns a "0". The attributes are:
-
- N Normal (no attributes set)
- R Read-only
- H Hidden
- S System
- D Directory
- A Archive
-
- The attributes (other than N) can be combined (for example
- %@ATTRIB[MYFILE,HS]). ATTRIB will only return a 1 if all of the attributes
- match.
-
- If you do not specify any attributes, @ATTRIB will return the attributes of
- the specified file in the format RHSAD, rather than a "0" or "1". Attributes
- which are not set will be replaced with an underscore. For example, if
- SECURE.DAT has the read-only, hidden, and archive attributes set,
- %@ATTRIB[SECURE.DAT] would return RH_A_.
-
-
- ΓòÉΓòÉΓòÉ 12.4. @CDROM ΓòÉΓòÉΓòÉ
-
- @CDROM[d:]: Returns "1" if the drive is a CD-ROM or "0" otherwise.
-
-
- ΓòÉΓòÉΓòÉ 12.5. @CHAR ΓòÉΓòÉΓòÉ
-
- @CHAR[n]: Returns the character corresponding to an ASCII numeric value. For
- example %@CHAR[65] returns A.
-
-
- ΓòÉΓòÉΓòÉ 12.6. @DATE ΓòÉΓòÉΓòÉ
-
- @DATE[mm-dd-yy]: Returns the number of days since January 1, 1980 for the
- specified date. DATE uses the date format and separators mandated by your
- country code (for example dd.mm.yy in Germany, or yy-mm-dd in Japan).
-
-
- ΓòÉΓòÉΓòÉ 12.7. @COMMA ΓòÉΓòÉΓòÉ
-
- @COMMA[n]: Inserts commas, or the "thousands separator" character for your
- country ID, into a numeric string.
-
-
- ΓòÉΓòÉΓòÉ 12.8. @DEC ΓòÉΓòÉΓòÉ
-
- @DEC[%var]: Returns the same value as @EVAL[%var - 1]. That is, it retrieves
- and decrements the value of a variable. The variable itself is not changed; to
- do so, use a command like this:
-
- set var=%@dec[%var]
-
-
- ΓòÉΓòÉΓòÉ 12.9. @DESCRIPT ΓòÉΓòÉΓòÉ
-
- @DESCRIPT[filename]: Returns the file description for the specified filename
- (see DESCRIBE).
-
-
- ΓòÉΓòÉΓòÉ 12.10. @DEVICE ΓòÉΓòÉΓòÉ
-
- @DEVICE[name]: Returns "1" if the specified name is a character device (such
- as a printer or serial port), or "0" if not.
-
-
- ΓòÉΓòÉΓòÉ 12.11. @DISKFREE ΓòÉΓòÉΓòÉ
-
- @DISKFREE[d:,b|k|m]: Returns the amount of free disk space on the specified
- drive.
-
-
- ΓòÉΓòÉΓòÉ 12.12. @DISKTOTAL ΓòÉΓòÉΓòÉ
-
- @DISKTOTAL[d:,b|k|m]: Returns the total disk space on the specified drive.
-
-
- ΓòÉΓòÉΓòÉ 12.13. @DISKUSED ΓòÉΓòÉΓòÉ
-
- @DISKUSED[d:,b|k|m]: Returns the amount of disk space in use by files and
- directories on the specified drive.
-
-
- ΓòÉΓòÉΓòÉ 12.14. @DOSMEM ΓòÉΓòÉΓòÉ
-
- @DOSMEM[b|k|m]: Returns the size of the largest free memory block (either in
- physical or virtual memory).
-
-
- ΓòÉΓòÉΓòÉ 12.15. @EVAL ΓòÉΓòÉΓòÉ
-
- @EVAL[expression]: Evaluates an arithmetic expression. @EVAL supports
- addition (+), subtraction (-), multiplication (*), division (/), integer
- division (\, returns the integer part of the quotient), modulo (%%), and
- integer exponentiation (**). The expression can contain environment variables
- and other variable functions. @EVAL also supports parentheses, commas, and
- decimals. Parentheses can be nested. @EVAL will strip leading and trailing
- zeros from the result. When evaluating expressions, **, *, /, and %% take
- precedence over + and -. For example, 3 + 4 * 2 will be interpreted as 3 + 8,
- not as 7 * 2. To change this order of evaluation, use parentheses to specify
- the order you want. Also see @DEC and @INC.
-
- The maximum precision is 16 digits to the left of the decimal point and 8
- digits to the right of the decimal point. You can alter the default precision
- to the right of the decimal point with the EvalMax and EvalMin directives in
- 4OS2.INI and with the SETDOS /F command.
-
- You can alter the precision for a single evaluation with the construct
- @EVAL[expression=x.y]. The x value specifies the minimum decimal precision
- (i.e., the minimum number of decimal places displayed); the y value sets the
- maximum decimal precision. If x is greater than y, it is ignored. You can
- specify either or both arguments, for example%colon.
-
- @eval[3/7=2] returns 0.42857143
- @eval[3/7=.4] returns 0.4286
- @eval[3/6=2.4] returns 0.50
-
-
- ΓòÉΓòÉΓòÉ 12.16. @EXEC ΓòÉΓòÉΓòÉ
-
- @EXEC[command]: Execute the command and return the numeric exit code. The
- command can be an alias, internal command, external command, .BTM file, or .BAT
- file. @EXEC is primarily intended for running a program from within the
- PROMPT. It is a "back door" entry into command processing and should be used
- with extreme caution. Incorrect or recursive use of @EXEC may hang your
- system.
-
-
- ΓòÉΓòÉΓòÉ 12.17. @EXETYPE ΓòÉΓòÉΓòÉ
-
- @EXETYPE[filename]: Returns the application type as a string:
-
- DOS DOS .COM, .EXE, or .BAT file (OS/2 2.x only)
- AVIO OS/2 Character mode, windowed
- FS OS/2 Character mode, full-screen
- PM OS/2 Presentation Manager
- WIN Windows 3 (OS/2 2.x only)
- UNKNOWN Any other file
-
-
- ΓòÉΓòÉΓòÉ 12.18. @EXT ΓòÉΓòÉΓòÉ
-
- @EXT[filename]: Returns the extension from a file name, without a leading
- period.
-
-
- ΓòÉΓòÉΓòÉ 12.19. @FILEAGE ΓòÉΓòÉΓòÉ
-
- @FILEAGE[filename]: Returns the date and time of the file as a single numeric
- value. The number can be used to compare the relative ages of two or more
- files.
-
-
- ΓòÉΓòÉΓòÉ 12.20. @FILECLOSE ΓòÉΓòÉΓòÉ
-
- @FILECLOSE[n]: Closes the file whose handle is "n." You cannot close handles
- 0, 1 or 2. Returns "0" if the file closed OK or "-1" if an error occurred. Be
- sure to read the cautionary note about file functions under Variable Functions.
-
-
- ΓòÉΓòÉΓòÉ 12.21. @FILEDATE ΓòÉΓòÉΓòÉ
-
- @FILEDATE[filename]: Returns the date a file was last modified, in the default
- country format (mm-dd-yy for the US).
-
-
- ΓòÉΓòÉΓòÉ 12.22. @FILENAME ΓòÉΓòÉΓòÉ
-
- @FILENAME[filename]: Returns the name and extension of a file, without a path.
-
-
- ΓòÉΓòÉΓòÉ 12.23. @FILEOPEN ΓòÉΓòÉΓòÉ
-
- @FILEOPEN[filename, read | write | append, [b | t]]: Opens the file in the
- specified mode and returns the file handle as an integer. Returns "-1" if the
- file cannot be opened.
-
- The optional third parameter controls whether the file is opened in binary mode
- ("b") or text mode ("t"). Text mode (the default) should be used to read text
- using @FILEREAD without a "length" parameter, and to write text using
- @FILEWRITE. Binary mode should be used to read binary data with @FILEREAD with
- a "length" parameter, and to write binary data with @FILEWRITEB.
-
- Be sure to read the cautionary note about file functions under Variable
- Functions.
-
-
- ΓòÉΓòÉΓòÉ 12.24. @FILEREAD ΓòÉΓòÉΓòÉ
-
- @FILEREAD[n [,length]]: Reads data from the file whose handle is "n." Returns
- "**EOF**" if you attempt to read past the end of the file. If "length" is not
- specified @FILEREAD will read until the next CR or LF (end of line) character.
- If "length" is specified, @FILEREAD will read "length" bytes regardless of any
- end of line characters.
-
- If you plan to read text a line at a time, without using "length", you should
- open the file in text mode. If you plan to read binary data using "length",
- you should open the file in binary mode. See @FILEOPEN for details on opening
- the file in the proper mode.
-
- Be sure to read the cautionary note about file functions under Variable
- Functions.
-
-
- ΓòÉΓòÉΓòÉ 12.25. @FILES ΓòÉΓòÉΓòÉ
-
- @FILES[filename [, -nrhsda]]: Returns the number of files that match the
- filename specification, which may contain wildcards and include lists. Returns
- an empty string if no files match. The filename must refer to a single
- directory; to check several directories, use @FILES once for each directory,
- and add the results together with @EVAL.
-
- The second argument is a list of file attributes. If it is included, only
- those files matching all the specified attributes are counted. The attributes
- are:
-
- N Normal (no attributes set)
- R Read-only
- H Hidden
- S System
- D Directory
- A Archive
-
- You can prefix an attribute with - to mean "everything except files with this
- attribute."
-
-
- ΓòÉΓòÉΓòÉ 12.26. @FILESEEK ΓòÉΓòÉΓòÉ
-
- @FILESEEK[n,offset,start]: Moves the file pointer "offset" bytes in the file
- whose handle is "n". Returns the new position of the pointer, in bytes from
- the start of the file. Set "start" to 0 to seek relative to the beginning of
- the file, 1 to seek relative to the current file pointer, or 2 to seek relative
- to the end of the file. The offset value may be negative (seek backward),
- positive (seek forward), or zero (return current position, but do not change
- it). Be sure to read the cautionary note about file functions under Variable
- Functions.
-
-
- ΓòÉΓòÉΓòÉ 12.27. @FILESEEKL ΓòÉΓòÉΓòÉ
-
- @FILESEEKL[n,line]: Moves the file pointer to the specified line in the file
- whose handle is "n". Returns the new position of the pointer, in bytes from the
- start of the file. Be sure to read the cautionary note about file functions
- under Variable Functions.
-
-
- ΓòÉΓòÉΓòÉ 12.28. @FILESIZE ΓòÉΓòÉΓòÉ
-
- @FILESIZE[filename,b|k|m]: Returns the size of a file, or "-1" if the file
- does not exist. If the filename includes wildcards or an include list, returns
- the combined size of all matching files.
-
-
- ΓòÉΓòÉΓòÉ 12.29. @FILETIME ΓòÉΓòÉΓòÉ
-
- @FILETIME[filename]: Returns the time a file was last modified, in hh:mm
- format.
-
-
- ΓòÉΓòÉΓòÉ 12.30. @FILEWRITE ΓòÉΓòÉΓòÉ
-
- @FILEWRITE[n,text]: Writes a line to the file whose handle is "n". Returns
- the number of bytes written, or "-1" if an error occurred.
-
- If you plan to write text a line at a time with @FILEWRITE, you should open the
- file in text mode (see @FILEOPEN). If you want to write binary data you should
- use @FILEWRITEB instead, and open the file in binary mode.
-
- Be sure to read the cautionary note about file functions under Variable
- Functions.
-
-
- ΓòÉΓòÉΓòÉ 12.31. @FILEWRITEB ΓòÉΓòÉΓòÉ
-
- @FILEWRITEB[n,length,string]: Writes the specified number of bytes from the
- string to the file whose handle is "n". Returns the number of bytes written,
- or "-1" if an error occurred.
-
- If you plan to write binary data with @FILEWRITEB, you should open the file in
- binary mode (see @FILEOPEN). If you want to write text a line at a time you
- should use @FILEWRITE instead, and open the file in text mode.
-
- Be sure to read the cautionary note about file functions under Variable
- Functions.
-
-
- ΓòÉΓòÉΓòÉ 12.32. @FINDFIRST ΓòÉΓòÉΓòÉ
-
- @FINDFIRST[filename [,nrhsda]]: Returns the name of the first file that
- matches the filename, which may contain wildcards and "include lists." The
- second argument, if included, defines the attributes of the files that will be
- included in the search. Returns an empty string if no files match. The
- attributes are:
-
- N Normal (no attributes set)
- R Read-only
- H Hidden
- S System
- D Directory
- A Archive
-
- @FINDFIRST always skips the "." and ".." entries when processing directory
- names.
-
- The attributes (other than N) can be combined (for example
- %@FINDFIRST[MYFILE,HS]). @FINDFIRST will only find a file if all of the
- attributes match.
-
-
- ΓòÉΓòÉΓòÉ 12.33. @FINDNEXT ΓòÉΓòÉΓòÉ
-
- @FINDNEXT[filename [,nrhsda]]: Returns the name of the next file that matches
- the filename passed to @FINDFIRST. @FINDNEXT should only be used after a
- successful call to @FINDFIRST. The first argument is included for
- compatibility with previous versions, but is ignored; it can be omitted if the
- second argument is not used (e.g. %@FINDNEXT[]). The second argument, if
- included, defines the attributes of the files that will be included in the
- search (see @FINDFIRST for details). Returns an empty string when no more
- files match
-
- @FINDNEXT always skips the "." and ".." entries when processing directory
- names.
-
-
- ΓòÉΓòÉΓòÉ 12.34. @FORMAT ΓòÉΓòÉΓòÉ
-
- @FORMAT[[-][x][.y],string]: Reformats a string, truncating it or padding it
- with spaces as necessary. If you use the minus [-], the string is
- left-justified; otherwise, it is right-justified. The "x" value is the minimum
- number of characters in the result. The "y" value is the maximum number of
- characters in the result. You can combine the options as necessary. For
- example:
-
- %@format[12,JPSoftware] returns " JPSoftware"
- %@format[.3,JPSoftware] returns "JPS"
-
-
- ΓòÉΓòÉΓòÉ 12.35. @FSTYPE ΓòÉΓòÉΓòÉ
-
- @FSTYPE[d:]: Returns the file system type for the specified drive. @FSTYPE
- will return "FAT" for a DOS-compatible drive with a file allocation table,
- "HPFS" for a drive that uses OS/2's high performance file system, or "CDFS" for
- a CD-ROM drive. It may return other values if additional file systems have
- been installed with the IFS= directive in CONFIG.SYS.
-
-
- ΓòÉΓòÉΓòÉ 12.36. @FULL ΓòÉΓòÉΓòÉ
-
- @FULL[filename]: Returns the fully qualified path name of a file.
-
-
- ΓòÉΓòÉΓòÉ 12.37. @IF ΓòÉΓòÉΓòÉ
-
- @IF[condition,true,false]: Evaluates the condition and returns a string based
- on the result. The condition can include any of the tests allowed in the IF
- command. If the condition is true, @IF returns the first result string; if it
- is false, @IF returns the second string. For example,
- "%IF[2==2,Correct!,Oops!]" returns "Correct!"
-
-
- ΓòÉΓòÉΓòÉ 12.38. @INC ΓòÉΓòÉΓòÉ
-
- @INC[%var]: Returns the same value as %@EVAL[%var + 1]. That is, it retrieves
- and increments the value of a variable. The variable itself is not changed; to
- do so, use a command like this:
-
- set var=%@inc[%var]
-
-
- ΓòÉΓòÉΓòÉ 12.39. @INDEX ΓòÉΓòÉΓòÉ
-
- @INDEX[string1,string2]: Returns the position of string2 within string1, or
- "-1" if string2 is not found. The first position in string1 is numbered 0.
-
-
- ΓòÉΓòÉΓòÉ 12.40. @INSTR ΓòÉΓòÉΓòÉ
-
- @INSTR[start, length, string]: The same as @SUBSTR. However, the string is at
- the end of the @INSTR argument list, so that commas in the string will not be
- confused with commas separating the arguments.
-
-
- ΓòÉΓòÉΓòÉ 12.41. @INT ΓòÉΓòÉΓòÉ
-
- @INT[n]: Returns the integer part of the number n.
-
-
- ΓòÉΓòÉΓòÉ 12.42. @LABEL ΓòÉΓòÉΓòÉ
-
- @LABEL[d:]: Returns the volume label of the specified disk drive.
-
-
- ΓòÉΓòÉΓòÉ 12.43. @LEN ΓòÉΓòÉΓòÉ
-
- @LEN[string]: Returns the length of a string.
-
-
- ΓòÉΓòÉΓòÉ 12.44. @LINE ΓòÉΓòÉΓòÉ
-
- @LINE[filename,n]: Returns line "n" from the specified file. The first line in
- the file is numbered 0. "**EOF**" is returned for all line numbers beyond the
- end of the file. If you need to scan through the lines of a file in sequence,
- the @FILEREAD function (above) and the "@filename" construct available in the
- FOR command are much faster than calling the @LINE function repeatedly. @LINE
- will retrieve input from standard input if you specify CON as the filename. If
- you are redirecting input to @LINE using this feature, you must use command
- grouping or the redirection will not work properly. For example:
-
- (echo %@line[con,0]) < myfile.dat
-
-
- ΓòÉΓòÉΓòÉ 12.45. @LINES ΓòÉΓòÉΓòÉ
-
- @LINES[filename]: Returns the line number of the last line in the file, or
- "-1" if the file is empty. The first line in the file is numbered 0, so (for
- example) @LINES will return 0 for a file containing one line.
-
-
- ΓòÉΓòÉΓòÉ 12.46. @LOWER ΓòÉΓòÉΓòÉ
-
- @LOWER[string]: Returns the string converted to lower case.
-
-
- ΓòÉΓòÉΓòÉ 12.47. @MAKEAGE ΓòÉΓòÉΓòÉ
-
- @MAKEAGE[date[,time]]: Returns the date and time (if included) as a single
- value in the same format as @FILEAGE. @MAKEAGE can be used to compare the time
- stamp of a file with a specific date and time, for example:
-
- if %@fileage[myfile] lt %@makeage[1/1/85] echo OLD!
-
-
- ΓòÉΓòÉΓòÉ 12.48. @MAKEDATE ΓòÉΓòÉΓòÉ
-
- @MAKEDATE[n]: Returns a date (formatted according to the current country
- settings). "n" is the number of days since 1/1/80. This is the inverse of
- @DATE.
-
-
- ΓòÉΓòÉΓòÉ 12.49. @MAKETIME ΓòÉΓòÉΓòÉ
-
- @MAKETIME[n]: Returns a time (formatted according to the current country
- settings). "n" is the number of seconds since midnight. This is the inverse
- of @TIME.
-
-
- ΓòÉΓòÉΓòÉ 12.50. @NAME ΓòÉΓòÉΓòÉ
-
- @NAME[filename]: Returns the base name of a file, without the path or
- extension.
-
-
- ΓòÉΓòÉΓòÉ 12.51. @NUMERIC ΓòÉΓòÉΓòÉ
-
- @NUMERIC[string]: Returns "1" if the argument is composed entirely of digits
- (0 to 9), signs (+ or -), and the thousands and decimal separators. Otherwise,
- returns "0".
-
-
- ΓòÉΓòÉΓòÉ 12.52. @PATH ΓòÉΓòÉΓòÉ
-
- @PATH[filename]: Returns the path from a file name, including the drive letter
- and a trailing backslash but not including the base name or extension.
-
-
- ΓòÉΓòÉΓòÉ 12.53. @RANDOM ΓòÉΓòÉΓòÉ
-
- @RANDOM[min, max]: Returns a random value between min and max, inclusive.
- Min, max, and the returned value are all integers.
-
-
- ΓòÉΓòÉΓòÉ 12.54. @READSCR ΓòÉΓòÉΓòÉ
-
- @READSCR[row,col,length]: Returns the text displayed on the screen at the
- specified location. The upper left corner of the screen is location 0,0.
-
-
- ΓòÉΓòÉΓòÉ 12.55. @READY ΓòÉΓòÉΓòÉ
-
- @READY[d:]: Returns "1" if the specified drive is ready; otherwise returns
- "0".
-
-
- ΓòÉΓòÉΓòÉ 12.56. @REMOTE ΓòÉΓòÉΓòÉ
-
- @REMOTE[d:]: Returns "1" if the specified drive is a remote (network) drive;
- otherwise returns "0".
-
-
- ΓòÉΓòÉΓòÉ 12.57. @REMOVABLE ΓòÉΓòÉΓòÉ
-
- @REMOVABLE[d:]: Returns "1" if the specified drive is removable (i.e., a
- floppy disk or removable hard disk); otherwise returns "0".
-
-
- ΓòÉΓòÉΓòÉ 12.58. @REPEAT ΓòÉΓòÉΓòÉ
-
- @REPEAT[c,n]: Returns the character "c" repeated "n" times.
-
-
- ΓòÉΓòÉΓòÉ 12.59. @REXX ΓòÉΓòÉΓòÉ
-
- @REXX[expr]: Calls the REXX interpreter to execute the expression. Returns the
- result string from REXX; if the REXX expression does not return a string, @REXX
- returns the REXX numeric result code.
-
-
- ΓòÉΓòÉΓòÉ 12.60. @SEARCH ΓòÉΓòÉΓòÉ
-
- @SEARCH[filename]: Searches for the filename using the PATH environment
- variable, appending an extension if one isn't specified. Returns the
- fully-expanded name of the file including drive, path, base name, and
- extension, or an empty string if a matching file is not found. If wildcards
- are used in the filename, @SEARCH will search for the first file that matches
- the wildcard specification, and return the drive and path for that file plus
- the wildcard filename (e.g., E:\UTIL\*.COM ).
-
-
- ΓòÉΓòÉΓòÉ 12.61. @SELECT ΓòÉΓòÉΓòÉ
-
- @SELECT[filename,top,left,bottom,right,title]: Pops up a selection window with
- the lines from the specified file. Returns the text of the line the scrollbar
- is on if you press Enter, or an empty string if you press Esc. @SELECT can be
- used to display menus or other selection lists from a batch file. To select
- from lines passed through input redirection or a pipe, use CON as the filename.
- You can move through the selection window with standard navigation keystrokes.
- To change the navigation keys, see the Key Mapping directives in the .INI file.
-
-
- ΓòÉΓòÉΓòÉ 12.62. @SUBSTR ΓòÉΓòÉΓòÉ
-
- @SUBSTR[string,start,length]: Returns a substring, starting at the position
- "start" and continuing for "length" characters. If the length is omitted, it
- will default to the remainder of the string. If the length is negative, the
- start is relative to the right side of the string. The first character in the
- string is numbered 0; if the length is negative, the last character is numbered
- 0. For example, %@SUBSTR[%_TIME,0,2] gets the current time and extracts the
- hour. If the string includes commas, it must be quoted with double quotes ["]
- or back quotes [`]. The quotes do count in calculating the position of the
- substring. @INSTR performs the same function, and allows commas in the string
- without quoting.
-
-
- ΓòÉΓòÉΓòÉ 12.63. @TIME ΓòÉΓòÉΓòÉ
-
- @TIME[hh:mm:ss]: Returns the number of seconds since midnight for the
- specified time. The time must be in 24-hour format; "am" and "pm" cannot be
- used.
-
-
- ΓòÉΓòÉΓòÉ 12.64. @TIMER ΓòÉΓòÉΓòÉ
-
- @TIMER[n]: Returns the current split time for a stopwatch started with the
- TIMER command. The value of "n" specifies the timer to read and can be 1, 2,
- or 3.
-
-
- ΓòÉΓòÉΓòÉ 12.65. @TRIM ΓòÉΓòÉΓòÉ
-
- @TRIM[string]: Returns the string with the leading and trailing white space
- (space and tab characters) removed.
-
-
- ΓòÉΓòÉΓòÉ 12.66. @UNIQUE ΓòÉΓòÉΓòÉ
-
- @UNIQUE[d:\path]: Creates a zero-length file with a unique name in the
- specified directory, and returns the full name and path. If no path is
- specified, the file will be created in the current directory. The file name
- will be FAT-compatible (8 character name and 3-character extension) regardless
- of whether the file is created on a FAT or HPFS drive. This function allows
- you to create a temporary file without overwriting an existing file.
-
-
- ΓòÉΓòÉΓòÉ 12.67. @UPPER ΓòÉΓòÉΓòÉ
-
- @UPPER[string]: Returns the string converted to upper case.
-
-
- ΓòÉΓòÉΓòÉ 12.68. @WORD ΓòÉΓòÉΓòÉ
-
- @WORD[["xxx",]n,string]: Returns the "nth" word in a string. The first word
- is numbered 0. If "n" is negative, words are returned from the end of the
- string. The first argument is a list of word separators you want to use; if
- you don't specify it, only spaces, tabs, and commas are considered to be word
- separators. For example:
-
- %@WORD[2,NOW IS THE TIME] returns "THE"
- %@WORD[-0,NOW IS THE TIME] returns "TIME"
- %@WORD[-2,NOW IS THE TIME] returns "IS"
- %@WORD["=",1,2 + 2=4] returns "4"
-
-
- ΓòÉΓòÉΓòÉ 12.69. @WORDS ΓòÉΓòÉΓòÉ
-
- @WORDS[["xxx",]string]: Returns the number of words in the string. The
- optional list of separators follows the same format as @WORD. If the "string"
- argument is enclosed in quotation marks, you must enter a list of separators as
- well.
-
-
- ΓòÉΓòÉΓòÉ 13. 4OS2.INI ΓòÉΓòÉΓòÉ
-
- The configuration of 4OS2 is controlled through an optional file of
- initialization information called 4OS2.INI.
-
- This section contains general information on 4OS2.INI, and an example. For
- information on specific directives see the separate topic for each type of
- directive:
-
- Initialization Directives
- Configuration Directives
- Color Directives
- Key Mapping Directives
- Advanced Directives
-
- These topics list the directives, with a one-line description of each, and a
- cross-reference which selects a full screen help topic on that directive. A
- few of the directives are simple enough that the one-line description is
- sufficient, but in most cases you should check for any additional information
- in the cross-reference topic if you are not already familiar with the
- directive.
-
- You can also obtain help on most directives with a HELP directive command at
- the prompt.
-
- You can create, add to, and edit 4OS2.INI with any ASCII text editor. 4OS2
- reads 4OS2.INI when it starts, and configures itself accordingly. 4OS2.INI is
- not re-read when you change it. For changes to take effect, you must restart
- the session or window in which 4OS2 is running.
-
- Each item that you can include in 4OS2.INI has a default value. You only need
- to include entries in the file for settings that you want to change from their
- default values. If you are happy with all of the default values, you don't
- need an .INI file at all.
-
- 4OS2 primary shells search for the .INI file in three places:
-
- * If there is an "@d:\path\inifile" option on the 4OS2 startup
- command liine 4OS2 will use the path and file name specified there,
- and will not look elsewhere.
- * If there is no .INI file name on the startup command line, the
- search proceeds to the same directory where the 4OS2 program file
- (4OS2.EXE ) is stored. This is the "normal" location for the .INI
- file. 4OS2 determines this directory automatically. You can also
- set it yourself by placing a COMSPEC directory name on the startup
- command line.
- * If the .INI file is not found in the directory where the program
- file is stored, a final check is made in the root directory of the
- boot drive.
-
- When 4OS2 is loaded as a secondary shell, it does not search for the .INI
- file. Instead, it retrieves the primary shell's .INI file data, processes the
- [Secondary] section of the original .INI file if necessary, and then processes
- any "@d:\path\inifile" option on the secondary shell command line. You can
- override this behavior with the NextINIFile directive.
-
- Most lines in the .INI file consist of a one-word directive, an equal sign
- [=], and a value. For example, in the following line, the word "History" is
- the directive and "2048" is the value:
-
- History = 2048
-
- Any spaces before or after the equal sign are ignored.
-
- If you have a long string to enter in the .INI file (for example, for the
- ColorDir directive), you must enter it all on one line. Strings cannot be
- "continued" to a second line. Each line may be up to 1023 characters long.
-
- The format of the value part of a directive line depends on the individual
- directive. It may be a numeric value, a single character, a choice (like
- "Yes" or "No"), a color setting, a key name, a path, a filename, or a text
- string. The value begins with the first non-blank character after the equal
- sign and ends at the end of the line or the beginning of a comment.
-
- Blank lines are ignored in the .INI file and can be used to separate groups of
- directives. You can place comments in the file by beginning a line with a
- semicolon [;]. You can also place comments at the end of any line except one
- containing a text string value. To do so, enter at least one space or tab
- after the value, a semicolon, and your comment, like this:
-
- History = 2048 ;set history list size
-
- If you try to place a comment at the end of a string value, the comment will
- become part of the string and will probably cause an error.
-
- When 4OS2 detects an error while processing the .INI file, it displays an
- error message and prompts you to press a key to continue processing the file.
- This allows you to note any errors before the startup process continues. The
- directive in error will retain its previous or default value. Only the most
- catastrophic errors (like a disk read failure) will terminate processing of
- the remainder of the .INI file. If you don't want a pause after each error,
- use a PauseOnError = No directive at the beginning of the .INI file.
-
- If you need to test different values for an .INI directive without repeatedly
- editing the .INI file, see INIQuery.
-
- The .INI file has three sections: the first or global section, the [Primary]
- section, and the [Secondary] section. The global section consists of
- directives at the beginning of the file, with no section name before them.
- These directives are effective in all shells. In most cases, this is the only
- section you will need.
-
- The [Primary] and [Secondary] sections include directives that are used in
- primary and secondary shells respectively. Each section is identified by the
- section name in square brackets on a line by itself. You don't need to set up
- these sections unless you want different directives for primary and secondary
- shells.
-
- Directives in the [Primary] section are used for the first or primary shell.
- The values are passed automatically to all secondary shells, unless overridden
- by a directive with the same name in the [Secondary] section.
-
- Directives in the [Secondary] section are used in secondary shells only, and
- override any corresponding primary shell settings.
-
- Sections that begin with any name other than [Primary] or [Secondary] are
- ignored.
-
- The SETDOS command can override several of the .INI file directives. For
- example, the cursor shape used by 4OS2 can be adjusted either with the
- CursorIns and CursorOver directives or the SETDOS /S command. The
- correspondence between SETDOS options and .INI directives is noted under each
- directive below, and under each option of the SETDOS command.
-
- This example configures certain special characters to match 4DOS, and changes
- other default settings to suit the user's preferences. All of these settings
- except HelpBook would also work in 4DOS or 4DOS/NT. Note that the comments for
- the HelpBook and ColorDir directives are on separate lines before the
- directives themselves, as no comments are allowed in string directives:
-
- PauseOnError = No ;don't stop on INI errors
- CommandSep = ^ ;4DOS command separator
- ParameterChar = & ;4DOS parameter character
- BatchEcho = No ;default to ECHO OFF
- ;show only 4OS2 help for F1 / HELP
- HelpBook = 4OS2
- History = 2048 ;expand history to 2K bytes
- BeepFreq = 880 ;make beep higher pitch
- EditMode = Insert ;insert mode for cmd edit
- CursorOver = 100 ;overstrike cursor 100%
- CursorIns = 10 ;insert cursor 10%
- ListFind = F5 ;F5 does a find in LIST
- ListNext = F6 ;and F6 does a find next
- StdColors = bri cya on blu ;default colors
- ListColors = bri whi on blu ;colors for LIST
- SelectColors = bri whi on blu ;same colors for SELECT
- ;set directory display colors
- colordir = DIRS:bri yel;com exe bat btm cmd:bri whi
-
-
- ΓòÉΓòÉΓòÉ 13.1. Initialization Directives ΓòÉΓòÉΓòÉ
-
- The directives in this section control how 4OS2 starts and where it looks for
- its files. The initialization directives are:
-
- 4StartPath Path for 4START and 4EXIT
- DirHistory Size of directory history list
- HelpBook Books to load in help system
- History Size of history list
- INIQuery Query for each line in 4OS2.INI
- LocalAliases Local vs. global aliases
- LocalHistory Local vs. global directory history
- LocalHistory Local vs. global history
- PauseOnError Pause on errors in 4OS2.INI
- WindowState Initial state for the 4OS2 window
- WindowX, WindowY, WindowWidth, WindowHeightInitial size and position of
- the 4OS2 window
-
-
- ΓòÉΓòÉΓòÉ 13.1.1. 4StartPath ΓòÉΓòÉΓòÉ
-
- 4StartPath = Path: Sets the drive and directory where the 4START and 4EXIT
- batch files (if any) are located.
-
-
- ΓòÉΓòÉΓòÉ 13.1.2. DirHistory ΓòÉΓòÉΓòÉ
-
- DirHistory = nnnn (256): Sets the amount of memory allocated to the directory
- history in bytes. The allowable range of values is 128 to 2048 bytes. If you
- use a global directory history list the DirHistory value will be ignored in all
- shells except the shell which first establishes the global list.
-
-
- ΓòÉΓòÉΓòÉ 13.1.3. HelpBook ΓòÉΓòÉΓòÉ
-
- HelpBook = String: Sets the names of the "books" to be loaded when 4OS2 help
- is invoked with the HELP command or the F1 key. The default is 4OS2+CMDREF
- which loads the 4OS2 help and the OS/2 command reference.
-
-
- ΓòÉΓòÉΓòÉ 13.1.4. History ΓòÉΓòÉΓòÉ
-
- History = nnnn (1024): Sets the amount of memory allocated to the command
- history list in bytes. The allowable range of values is 256 to 8192 bytes. If
- you use a global history list (see Command History and Recall), the History
- value is ignored in all shells except the shell which first establishes the
- global list.
-
-
- ΓòÉΓòÉΓòÉ 13.1.5. INIQuery ΓòÉΓòÉΓòÉ
-
- INIQuery = Yes | NO: If set to Yes, a prompt will be displayed before
- execution of each subsequent line in the current .INI file. This allows you to
- modify certain directives when you start 4OS2 in order to test different
- configurations. INIQuery can be reset to No at any point in the file.
- Normally INIQuery = Yes is only used during testing of other .INI file
- directives.
-
- The prompt generated by INIQuery = Yes is:
-
- [contents of the line] (Y/N/Q/R/E) ?
-
- At this prompt, you may enter:
-
- Y = Yes: Process this line and go on to the next.
- N = No: Skip this line and go on to the next.
- Q = Quit: Skip this line and all subsequent lines.
- R = Rest: Execute this and all subsequent lines.
- E = Edit: Edit the value for this entry.
-
- If you choose E for Edit, you can enter a new value for the directive, but not
- a new directive name.
-
- For example, if you have found a compatibility problem you think may be
- related to 4OS2's character (as opposed to line) input mode, you might change
- your 4OS2.INI file so a part of it read as follows:
-
- INIQuery = Yes
- LineInput = Yes
- INIQuery = No
-
- You could then choose to process, ignore, or edit the LineInput directive each
- time 4OS2 started. This would allow you to check whether changing the line
- input mode would resolve the compatibility problem.
-
-
- ΓòÉΓòÉΓòÉ 13.1.6. LocalAliases ΓòÉΓòÉΓòÉ
-
- LocalAliases = Yes | NO: No forces all copies of 4OS2 to share the same alias
- list. Yes keeps the lists for each shell separate. See ALIAS for more details
- on local and global alias lists.
-
-
- ΓòÉΓòÉΓòÉ 13.1.7. LocalDirHistory ΓòÉΓòÉΓòÉ
-
- LocalDirHistory = Yes | NO: No forces all copies of command processor to share
- the same directory history. Yes keeps the directory histories for each shell
- separate. See Local and Global Directory History for more details.
-
-
- ΓòÉΓòÉΓòÉ 13.1.8. LocalHistory ΓòÉΓòÉΓòÉ
-
- LocalHistory = Yes | NO: No forces all copies of 4OS2 to share the same
- history list. Yes keeps the lists for each shell separate. See Command
- History and Recall for more details on local and global history lists.
-
-
- ΓòÉΓòÉΓòÉ 13.1.9. PauseOnError ΓòÉΓòÉΓòÉ
-
- PauseOnError = YES | No: Yes forces a pause with the message "Error in
- filename, press any key to continue processing" after displaying any error
- message related to a specific line in the .INI file. No continues processing
- with no pause after an error message is displayed.
-
-
- ΓòÉΓòÉΓòÉ 13.1.10. WindowState ΓòÉΓòÉΓòÉ
-
- WindowState = STANDARD | Maximize | Minimize: Sets the initial state of the
- 4OS2 window. Standard puts the window in the default position on the OS/2
- desktop, and is the default setting. Maximize maximizes the window; Minimize
- minimizes it. If you use Maximize or Minimize, you may see the 4OS2 window
- appear briefly in the Standard position as it is created by OS/2, then switch
- to the new state.
-
-
- ΓòÉΓòÉΓòÉ 13.1.11. WindowX, WindowY, WindowWidth, WindowHeight ΓòÉΓòÉΓòÉ
-
- WindowX = nnnn, WindowY = nnnn, WindowWidth = nnnn, WindowHeight = nnnn: These
- 4 directives set the initial size and position of the 4OS2 window. The
- measurements are in pixels or pels. WindowX and WindowY refer to the position
- of the bottom left corner of the window relative to the bottom left corner of
- the screen.
-
-
- ΓòÉΓòÉΓòÉ 13.2. Configuration Directives ΓòÉΓòÉΓòÉ
-
- These directives control the way that 4OS2 operate. Some can be changed with
- the SETDOS command while 4OS2 is running. Any corresponding SETDOS command is
- listed in the description of each directive. The configuration directives are:
-
- AmPm Time display format
- BatchEcho Default batch file echo state
- BeepFreq Default beep frequency
- BeepLength Default beep length
- CommandSep Multiple command separator character
- CursorIns Cursor shape in insert mode
- CursorOver Cursor shape in overstrike mode
- DescriptionMax Maximum length of file descriptions
- Descriptions Enable / disable description processing
- EvalMax Max digits after decimal point in @EVAL
- EvalMin Min digits after decimal point in @EVAL
- EditMode Editing mode (insert / overstrike)
- EscapeChar 4OS2 escape character
- HistCopy History copy mode
- HistLogName History log file name
- HistMin Minimum command length to save
- HistWinColors History window colors
- HistWinHeight History window height
- HistWinLeft History window left side position
- HistWinTop History window top position
- HistWinWidth History window width
- LineInput Enable / disable line input mode
- LogName Log file name
- NoClobber Overwrite protection for output redirection
- ParameterChar Alias / batch file parameter character
- Printer LIST print device
- ScreenRows Screen height
- UpperCase Force file names to upper case
-
-
- ΓòÉΓòÉΓòÉ 13.2.1. AmPm ΓòÉΓòÉΓòÉ
-
- AmPm = Yes | NO | Auto: Yes displays times in 12-hour format with a trailing
- "a" for AM or "p" for PM. The default of No forces a display in 24-hour time
- format. Auto formats the time according to the country code set for your
- system. AmPm controls the time displays used by DIR and SELECT, in LOG files,
- and the output of the TIMER, DATE, and TIME commands. It has no effect on
- %_TIME, %@MAKETIME, the $t and $T options of PROMPT, or date and time ranges.
-
-
- ΓòÉΓòÉΓòÉ 13.2.2. BatchEcho ΓòÉΓòÉΓòÉ
-
- BatchEcho = YES | No: Sets the default batch echo mode. Yes enables echoing of
- all batch file commands unless ECHO is explicitly set off in the batch file.
- No disables batch file echoing unless ECHO is explicitly set on. Also see
- SETDOS /V.
-
-
- ΓòÉΓòÉΓòÉ 13.2.3. BeepFreq ΓòÉΓòÉΓòÉ
-
- BeepFreq = nnnn (440): Sets the default BEEP command frequency in Hz. This is
- also the frequency for "error" beeps (for example, if you press an illegal
- key). To disable all error beeps set this or BeepLength to 0. If you do, the
- BEEP command will still be operable, but will not produce sound unless you
- explicitly specify the frequency and duration.
-
-
- ΓòÉΓòÉΓòÉ 13.2.4. BeepLength ΓòÉΓòÉΓòÉ
-
- BeepLength = nnnn (2): Sets the default BEEP length in system clock ticks
- (approximately 1/18 of a second per tick). BeepLength is also the default
- length for "error" beeps (for example, if you press an illegal key).
-
-
- ΓòÉΓòÉΓòÉ 13.2.5. CommandSep ΓòÉΓòÉΓòÉ
-
- CommandSep = c: This is the character used to separate multiple commands on
- the same line. The default is the ampersand [&]. You cannot use any of the
- redirection characters (| > < ) or any of the whitespace characters (space,
- tab, comma, or equal sign). Also see SETDOS /C, the %+ internal variable, and
- 4DOS, 4OS2, and 4DOS/NT Compatibility for information on using compatible
- command separators for two or more products.
-
-
- ΓòÉΓòÉΓòÉ 13.2.6. CursorIns ΓòÉΓòÉΓòÉ
-
- CursorIns = nnnn (100): This is the shape of the cursor for insert mode during
- command-line editing and all commands which accept line input (DESCRIBE, ESET,
- etc.). The size is a percentage of the total character cell size, between 0%
- and 100%. Because of the way video drivers map the cursor shape, you may not
- get a smooth progression in cursor shapes as CursorIns and CursorOver change.
- If CursorIns or CursorOver is set to -1, 4OS2 will not attempt to modify the
- cursor shape at all; you can use this feature to give another program full
- control of the cursor shape. Also see CursorOver and SETDOS /S.
-
-
- ΓòÉΓòÉΓòÉ 13.2.7. CursorOver ΓòÉΓòÉΓòÉ
-
- CursorOver = nnnn (15): This is the shape of the cursor for overtype mode
- during command-line editing and all commands which accept line input. The size
- is a percentage of the total character cell size, between 0% and 100%. For
- details see CursorIns; also see SETDOS /S.
-
-
- ΓòÉΓòÉΓòÉ 13.2.8. DescriptionMax ΓòÉΓòÉΓòÉ
-
- DescriptionMax = nnnn (40): Controls the description length limit for
- DESCRIBE. The allowable range is 20 to 512 characters.
-
-
- ΓòÉΓòÉΓòÉ 13.2.9. Descriptions ΓòÉΓòÉΓòÉ
-
- Descriptions = YES | No: Turns description handling on or off during the file
- processing commands COPY, DEL, MOVE, and REN. If set to No, 4OS2 will not
- update the description file when files are moved, copied, deleted or renamed.
- Also see SETDOS /D.
-
-
- ΓòÉΓòÉΓòÉ 13.2.10. EditMode ΓòÉΓòÉΓòÉ
-
- EditMode = Insert | OVERSTRIKE: This directive lets you start the command-line
- editor in either insert or overstrike mode. Also see SETDOS /M.
-
-
- ΓòÉΓòÉΓòÉ 13.2.11. EscapeChar ΓòÉΓòÉΓòÉ
-
- EscapeChar = c : Sets the character used to suppress the normal meaning of the
- following character. The default is a caret [^]. See Escape Character for a
- description of special escape sequences. You cannot use any of the redirection
- characters (|, >, or < ) or the whitespace characters (space, tab, comma, or
- equal sign) as the escape character. Also see SETDOS /E, the %= internal
- variable, and 4DOS, 4OS2, and 4DOS/NT Compatibility for information on using
- compatible escape characters for two or more products.
-
-
- ΓòÉΓòÉΓòÉ 13.2.12. EvalMax ΓòÉΓòÉΓòÉ
-
- EvalMax = nnnn (8): Controls the maximum number of digits after the decimal
- point in values returned by @EVAL. This setting can be overridden with the
- construct @EVAL[expression=n.n]. The allowable range is 0 to 8. Also see
- EvalMin and SETDOS /F.
-
-
- ΓòÉΓòÉΓòÉ 13.2.13. EvalMin ΓòÉΓòÉΓòÉ
-
- EvalMin = nnnn (8): Controls the minimum number of digits after the decimal
- point in values returned by @EVAL. This setting can be overridden with the
- construct @EVAL[expression=n.n]. The allowable range is 0 to 8. The EvalMin
- value will be ignored if it is larger than EvalMax. Also see SETDOS /F.
-
-
- ΓòÉΓòÉΓòÉ 13.2.14. HistCopy ΓòÉΓòÉΓòÉ
-
- HistCopy = Yes | NO: Controls what happens when you re-execute a line from the
- command history. If this option is set to Yes, the line is appended to the end
- of the history list. By default, or if this option is set to No, no copy of
- the command is made. The original copy of the command is always retained at
- its original position in the list, regardless of the setting of HistCopy.
-
-
- ΓòÉΓòÉΓòÉ 13.2.15. HistLogName ΓòÉΓòÉΓòÉ
-
- HistLogName = File: Sets the history log file name and path. Using
- HistLogName does not turn history logging on; you must use a LOG /H ON command
- to do so.
-
-
- ΓòÉΓòÉΓòÉ 13.2.16. HistMin ΓòÉΓòÉΓòÉ
-
- HistMin = nnnn (0): Sets the minimum command-line size to save in the command
- history list. Any command line whose length is less than this value will not
- be saved. Legal values range from 0, which saves everything, to 1024, which
- disables all command history saves.
-
-
- ΓòÉΓòÉΓòÉ 13.2.17. HistWinColors ΓòÉΓòÉΓòÉ
-
- HistWinColors = Color: Sets the default colors for the command- line and
- directory history windows. If this directive is not used the colors will be
- reversed from the current colors on the screen.
-
-
- ΓòÉΓòÉΓòÉ 13.2.18. HistWinHeight ΓòÉΓòÉΓòÉ
-
- HistWinHeight = nn (12): Sets the height of the command-line and directory
- history windows in lines, including the border. Legal values range from 5 to
- the height of your screen. Any value which would cause the bottom of the
- window to be off the screen will be adjusted so that the entire window remains
- on the screen.
-
-
- ΓòÉΓòÉΓòÉ 13.2.19. HistWinLeft ΓòÉΓòÉΓòÉ
-
- HistWinLeft = nn (40): Sets the horizontal position of the left side of the
- command-line and directory history windows. Legal values range from 0 (the
- left edge of the screen) to the number of columns on your screen minus 10. Any
- value which would cause the right side of a minimum-width window to be off the
- screen will be adjusted so that the entire window remains on the screen.
-
-
- ΓòÉΓòÉΓòÉ 13.2.20. HistWinTop ΓòÉΓòÉΓòÉ
-
- HistWinTop = nn (1): Sets the vertical position of the top of the command-line
- and directory history windows. Legal values range from 0 (the top of the
- screen) to the number of rows on your screen minus 5. Any value which would
- cause the bottom of a minimum- height window to be off the screen will be
- adjusted so that the entire window remains on the screen.
-
-
- ΓòÉΓòÉΓòÉ 13.2.21. HistWinWidth ΓòÉΓòÉΓòÉ
-
- HistWinWidth = nn (36): Sets the width of the command-line and directory
- history windows in characters, including the border. Legal values range from 10
- to the width of your screen. Any value which would cause the right side of the
- window to be off the screen will be adjusted so that the entire window remains
- on the screen.
-
-
- ΓòÉΓòÉΓòÉ 13.2.22. LineInput ΓòÉΓòÉΓòÉ
-
- LineInput = Yes | NO: This directive controls how 4OS2 gets its input from the
- command line. Yes forces 4OS2 to perform line-by-line input, just as CMD.EXE
- does, instead of character-by-character input. This will disable command-line
- editing, history recall, the directory history window, and filename completion,
- and will reduce the 4OS2 input length limit from 1023 characters to 299
- characters. It is normally used only for applications which do not work
- properly unless 4OS2 uses line input. If you have a particular program that
- requires line input, you can use SETDOS /L to temporarily change modes. See
- README.DOC for information on programs which require this option.
-
-
- ΓòÉΓòÉΓòÉ 13.2.23. LogName ΓòÉΓòÉΓòÉ
-
- LogName = File: Sets the log file name and path. Using LogName does not turn
- logging on; you must use a LOG ON command to do so.
-
-
- ΓòÉΓòÉΓòÉ 13.2.24. NoClobber ΓòÉΓòÉΓòÉ
-
- NoClobber = Yes | NO: If set to Yes, will prevent standard output redirection
- from overwriting an existing file, and will require that the output file
- already exist for append redirection. Also see SETDOS /N.
-
-
- ΓòÉΓòÉΓòÉ 13.2.25. ParameterChar ΓòÉΓòÉΓòÉ
-
- ParameterChar = c: Sets the character used after a percent sign to specify all
- or all remaining command-line arguments in a batch file or alias (e.g., %& or
- %n&; see Batch Files and ALIAS). The default is the ampersand [&]. Also see
- SETDOS /P. See 4DOS, 4OS2, and 4DOS/NT Compatibility for information on using
- compatible parameter characters for two or more products..
-
-
- ΓòÉΓòÉΓòÉ 13.2.26. Printer ΓòÉΓòÉΓòÉ
-
- Printer = devicename: Sets the output device that the LIST command will print
- to. By default, LPT1 is used. The device can be PRN, LPT1 to 3, COM1 to 4, NUL
- (which will disable printed output) or any other installed character device.
-
-
- ΓòÉΓòÉΓòÉ 13.2.27. ScreenRows ΓòÉΓòÉΓòÉ
-
- ScreenRows = nnnn: Sets the number of screen rows used by the video display.
- Normally the screen size is determined automatically, but if you have a
- non-standard display you may need to set it explicitly. This value does not
- affect screen scrolling, which is controlled by OS/2 and your video driver.
- ScreenRows is used only by the LIST and SELECT commands, the paged output
- options of other commands (e.g., TYPE /P), and error checking in the screen
- output commands. Also see SETDOS /R.
-
-
- ΓòÉΓòÉΓòÉ 13.2.28. UpperCase ΓòÉΓòÉΓòÉ
-
- UpperCase = Yes | NO: Yes specifies that file and directory names should be
- displayed in the traditional upper-case by internal commands like COPY and DIR.
- No allows the normal 4OS2 lower-case style. This directive does not affect the
- display of filenames on HPFS drives. Also see SETDOS /U.
-
-
- ΓòÉΓòÉΓòÉ 13.3. Color Directives ΓòÉΓòÉΓòÉ
-
- These directives control the colors that 4OS2 use for its displays. Screen
- border colors can only be set in StdColors. "BORder" color specifications
- included in other directives will be ignored. For complete details on color
- names see Colors and Color Names. The color directives are:
-
- BrightBG Bright background colors
- ColorDir Directory colors
- InputColors Input colors
- ListColors LIST display colors
- ListStatBarColors LIST status bar colors
- SelectColors SELECT display colors
- SelectStatBarColors SELECT status bar colors
- StdColors Standard display colors
-
-
- ΓòÉΓòÉΓòÉ 13.3.1. BrightBG ΓòÉΓòÉΓòÉ
-
- BrightBG = Yes | No. If set to Yes, 4OS2 will enable bright background colors
- in full-screen sessions. If set to No, bright backgrounds will be disabled but
- blinking foreground characters will be enabled. If BrightBG is not used, 4OS2
- will not adjust the bright background / blinking foreground switch at all.
- Most color video boards default to a blinking foreground with bright background
- colors disabled. See also SETDOS /B.
-
- Using BrightBG requires careful attention to interactions of display type,
- mode, and color. For a detailed explanation, see Colors and Color Names.
-
-
- ΓòÉΓòÉΓòÉ 13.3.2. ColorDir ΓòÉΓòÉΓòÉ
-
- ColorDir = ext1 ext2 ...:colora;ext3 ext4 ... :colorb; ...: Sets the directory
- colors used by DIR and SELECT. The format is the same as that used for the
- COLORDIR environment variable. See Color-Coded Directories for a detailed
- explanation.
-
-
- ΓòÉΓòÉΓòÉ 13.3.3. InputColors ΓòÉΓòÉΓòÉ
-
- InputColors = Color: Sets the colors used for command-line input. This
- setting is useful for making your input stand out from the normal output.
-
-
- ΓòÉΓòÉΓòÉ 13.3.4. ListColors ΓòÉΓòÉΓòÉ
-
- ListColors = Color: Sets the colors used by the LIST command. If this
- directive is not used, LIST will use the current default colors set by the CLS
- or COLOR command or by the StdColors directive.
-
-
- ΓòÉΓòÉΓòÉ 13.3.5. ListStatBarColors ΓòÉΓòÉΓòÉ
-
- ListStatBarColors = Color: Sets the colors used on the LIST status bar. If
- this directive is not used, LIST will set the status bar to the reverse of the
- screen color (the screen color is controlled by ListColors).
-
-
- ΓòÉΓòÉΓòÉ 13.3.6. SelectColors ΓòÉΓòÉΓòÉ
-
- SelectColors = Color: Sets the color used by the SELECT command. If this
- directive is not used, SELECT will use the current default colors set by the
- CLS or COLOR command or by the StdColors directive.
-
-
- ΓòÉΓòÉΓòÉ 13.3.7. SelectStatBarColors ΓòÉΓòÉΓòÉ
-
- SelectStatBarColors = Color: Sets the color used on the SELECT status bar. If
- this directive is not used, SELECT will set the status bar to the reverse of
- the screen color (the screen color is controlled by SelectColors).
-
-
- ΓòÉΓòÉΓòÉ 13.3.8. StdColors ΓòÉΓòÉΓòÉ
-
- StdColors = Color: Sets the standard colors to be used when CLS is used
- without a color specification, and for LIST and SELECT if ListColors and
- SelectColors are not used. Using this directive is similar to placing a COLOR
- command in AUTOEXEC.BAT. StdColors takes effect the first time CLS, LIST, or
- SELECT is used after 4OS2 starts, but will not affect the color of error or
- other messages displayed during the loading and initialization process.
-
-
- ΓòÉΓòÉΓòÉ 13.4. Key Mapping Directives ΓòÉΓòÉΓòÉ
-
- These directives allow you to change the keys used for command-line editing and
- other internal functions. They are divided into four types, depending on the
- context in which the keys are used. For a discussion and list of directives
- for each type see:
-
- General Input Keys
- Command-Line Editing Keys
- History and @SELECT Window Keys
- LIST Keys
-
- Using a key mapping directive allows you to assign a different or additional
- key to perform the function described. For example, to use function key F3 to
- invoke the HELP facility (normally invoked with F1):
-
- Help = F3
-
- Any directive can be used multiple times to assign multiple keys to the same
- function. For example:
-
- ListFind = F ;F does a find in LIST
- ListFind = F5 ;F5 also does a find in LIST
-
- Use some care when you reassign keystrokes. If you assign a default key to a
- different function, it will no longer be available for its original use. For
- example, if you assign F1 to the AddFile directive (a part of filename
- completion), the F1 key will no longer invoke the help system, so you will
- probably want to assign a different key to Help.
-
- See Keys and Key Names before using the key mapping directives.
-
- Key assignments are processed before looking for keystroke aliases. For
- example, if you assign Shift-F1 to HELP and also assign Shift-F1 to a key
- alias, the key alias will be ignored.
-
- Assigning a new keystroke for a function does not deassign the default
- keystroke for the same function. If you want to deassign one of the default
- keys, use the NormalKey directive described below or the corresponding
- directive for keys in the other key groups (NormalEditKey, NormalHWinKey, or
- NormalListKey).
-
-
- ΓòÉΓòÉΓòÉ 13.4.1. General Input Keys ΓòÉΓòÉΓòÉ
-
- These directives apply to all input. They are in effect whenever 4OS2 requests
- input from the keyboard, including during command-line editing and the
- DESCRIBE, ESET, INPUT, LIST, and SELECT commands. The general input keys are:
-
- Backspace Deletes the character to the left of the cursor
- BeginLine Moves the cursor to the start of the line
- Del Deletes the character at the cursor
- DelToBeginning Deletes from the cursor to the start of the line
- DelToEnd Deletes from the cursor to the end of the line
- DelWordLeft Deletes the word to the left of the cursor
- DelWordRight Deletes the word to the right of the cursor
- Down * Moves the cursor or scrolls the display down
- EndLine Moves the cursor to the end of the line
- EraseLine Deletes the entire line
- ExecLine Executes or accepts a line
- Ins Toggles insert / overstrike mode
- Left * Moves the cursor or scrolls the display left
- NormalKey * Deassigns a key
- Right * Moves the cursor or scrolls the display right
- Up * Moves the cursor or scrolls the display up
- WordLeft Moves the cursor left one word
- WordRight Moves the cursor right one word
-
-
- ΓòÉΓòÉΓòÉ 13.4.1.1. Backspace ΓòÉΓòÉΓòÉ
-
- Backspace = Key (Bksp): Deletes the character to the left of the cursor.
-
-
- ΓòÉΓòÉΓòÉ 13.4.1.2. BeginLine ΓòÉΓòÉΓòÉ
-
- BeginLine = Key (Home): Moves the cursor to the beginning of the line.
-
-
- ═══ 13.4.1.3.  Del ═══
-
- Del = Key (Del): Deletes the character at the cursor.
-
-
- ΓòÉΓòÉΓòÉ 13.4.1.4. DelToBeginning ΓòÉΓòÉΓòÉ
-
- DelToBeginning = Key (Ctrl-Home): Deletes from the cursor to the start of the
- line.
-
-
- ΓòÉΓòÉΓòÉ 13.4.1.5. DelToEnd ΓòÉΓòÉΓòÉ
-
- DelToEnd = Key (Ctrl-End): Deletes from the cursor to the end of the line.
-
-
- ΓòÉΓòÉΓòÉ 13.4.1.6. DelWordLeft ΓòÉΓòÉΓòÉ
-
- DelWordLeft = Key (Ctrl-L): Deletes the word to the left of the cursor.
-
-
- ΓòÉΓòÉΓòÉ 13.4.1.7. DelWordRight ΓòÉΓòÉΓòÉ
-
- DelWordRight = Key (Ctrl-R, Ctrl-Bksp): Deletes the word to the right of the
- cursor. See ClearKeyMap if you need to remove the default mapping of Ctrl-Bksp
- to this function.
-
-
- ΓòÉΓòÉΓòÉ 13.4.1.8. Down ΓòÉΓòÉΓòÉ
-
- Down = Key (Down): Scrolls the display down one line in LIST; moves the cursor
- down one line in SELECT and in the command-line history, directory history, or
- %@SELECT window. (Scrolling down through the command history at the prompt is
- controlled by NextHistory, not by this directive.)
-
-
- ΓòÉΓòÉΓòÉ 13.4.1.9. EndLine ΓòÉΓòÉΓòÉ
-
- EndLine = Key (End): Moves the cursor to the end of the line.
-
-
- ΓòÉΓòÉΓòÉ 13.4.1.10. EraseLine ΓòÉΓòÉΓòÉ
-
- EraseLine = Key (Esc): Deletes the entire line.
-
-
- ΓòÉΓòÉΓòÉ 13.4.1.11. ExecLine ΓòÉΓòÉΓòÉ
-
- ExecLine = Key (Enter): Executes or accepts a line.
-
-
- ΓòÉΓòÉΓòÉ 13.4.1.12. Ins ΓòÉΓòÉΓòÉ
-
- Ins = Key (Ins): Toggles insert / overstrike mode during line editing.
-
-
- ΓòÉΓòÉΓòÉ 13.4.1.13. Left ΓòÉΓòÉΓòÉ
-
- Left = Key (Left): Moves the cursor left one character; scrolls the display
- left 8 columns in LIST; scrolls the display left 4 columns in the command-line,
- directory history, or %@SELECT window.
-
-
- ΓòÉΓòÉΓòÉ 13.4.1.14. NormalKey ΓòÉΓòÉΓòÉ
-
- NormalKey = Key: Deassigns a general input key in order to disable the usual
- meaning of the key within 4OS2 and/or make it available for keystroke aliases.
- This will make the keystroke operate as a "normal" key with no special
- function. For example:
-
- NormalKey = Ctrl-End
-
- will disable Ctrl-End, which is the standard "delete to end of line" key.
- Ctrl-End could then be assigned to a keystroke alias. Another key could be
- assigned the "delete to end of line" function with the DelToEnd directive.
-
-
- ΓòÉΓòÉΓòÉ 13.4.1.15. Right ΓòÉΓòÉΓòÉ
-
- Right = Key (Right): Moves the cursor right one character; scrolls the display
- right 8 columns in LIST; scrolls the display right 4 columns in the
- command-line history, directory history, or %@SELECT window.
-
-
- ΓòÉΓòÉΓòÉ 13.4.1.16. Up ΓòÉΓòÉΓòÉ
-
- Up = Key (Up): Scrolls the display up one line in LIST; moves the cursor up
- one line in SELECT and in the command-line history, directory history, or
- %@SELECT window. (Scrolling up through the command history at the prompt is
- controlled by PrevHistory, not by this directive.)
-
-
- ΓòÉΓòÉΓòÉ 13.4.1.17. WordLeft ΓòÉΓòÉΓòÉ
-
- WordLeft = Key (Ctrl-Left): Moves the cursor left one word; scrolls the
- display left 40 columns in LIST.
-
-
- ΓòÉΓòÉΓòÉ 13.4.1.18. WordRight ΓòÉΓòÉΓòÉ
-
- WordRight = Key (Ctrl-Right): Moves the cursor right one word; scrolls the
- display right 40 columns in LIST.
-
-
- ΓòÉΓòÉΓòÉ 13.4.2. Command-Line Editing Keys ΓòÉΓòÉΓòÉ
-
- These directives apply only to command-line editing. They are only effective
- at the 4OS2 prompt. The command-line editing keys are:
-
- AddFile Keeps filename completion entry and adds another
- CommandEscape Allows direct entry of a keystroke
- DelHistory Deletes a history list entry
- EndHistory Displays the last entry in the history list
- Help Invokes this help system
- LineToEnd Copies the current line to the end of the history
- NextFile Gets the next matching filename
- NextHistory Recalls the next command from the history
- NormalEditKey Deassigns a command-line editing key
- PopFile Opens the filename completion window
- PrevFile Gets the previous matching filename
- PrevHistory Recalls the previous command from the history
- SaveHistory Saves the command line without executing it
-
-
- ΓòÉΓòÉΓòÉ 13.4.2.1. AddFile ΓòÉΓòÉΓòÉ
-
- AddFile = Key (F10): Keeps the current filename completion entry and inserts
- the next matching name.
-
-
- ΓòÉΓòÉΓòÉ 13.4.2.2. CommandEscape ΓòÉΓòÉΓòÉ
-
- CommandEscape = Key (Alt-255): Allows direct entry of a keystroke that would
- normally be interpreted as an editor command.
-
-
- ΓòÉΓòÉΓòÉ 13.4.2.3. DelHistory ΓòÉΓòÉΓòÉ
-
- DelHistory = Key (Ctrl-D): Deletes the displayed history list entry and
- displays the previous entry.
-
-
- ΓòÉΓòÉΓòÉ 13.4.2.4. EndHistory ΓòÉΓòÉΓòÉ
-
- EndHistory = Key (Ctrl-E): Displays the last entry in the history list.
-
-
- ═══ 13.4.2.5.  Help ═══
-
- Help = Key (F1): Invokes the HELP facility.
-
-
- ΓòÉΓòÉΓòÉ 13.4.2.6. LineToEnd ΓòÉΓòÉΓòÉ
-
- LineToEnd = Key (Ctrl-Enter): Copies the current command line to the end of
- the history list even if it has not been altered.
-
-
- ΓòÉΓòÉΓòÉ 13.4.2.7. NextFile ΓòÉΓòÉΓòÉ
-
- NextFile = Key (F9, Tab): Gets the next matching filename. See ClearKeyMap if
- you need to remove the default mapping of Tab to this function.
-
-
- ΓòÉΓòÉΓòÉ 13.4.2.8. NextHistory ΓòÉΓòÉΓòÉ
-
- NextHistory = Key (Down): Recalls the next command from the command history.
-
-
- ΓòÉΓòÉΓòÉ 13.4.2.9. NormalEditKey ΓòÉΓòÉΓòÉ
-
- NormalEditKey = Key: Deassigns a command-line editing key in order to disable
- the usual meaning of the key while editing a command line, and/or make it
- available for keystroke aliases. For additional details see NormalKey.
-
-
- ΓòÉΓòÉΓòÉ 13.4.2.10. PopFile ΓòÉΓòÉΓòÉ
-
- PopFile = Key (F7, Ctrl-Tab): Opens the filename completion window. You may
- not be able to use Ctrl-Tab, because not all systems recognize it as a
- keystroke. See ClearKeyMap if you need to remove the default mapping of
- Ctrl-Tab to this function.
-
-
- ΓòÉΓòÉΓòÉ 13.4.2.11. PrevFile ΓòÉΓòÉΓòÉ
-
- PrevFile = Key (F8, Shift-Tab): Gets the previous matching filename. See
- ClearKeyMap if you need to remove the default mapping of Shift-Tab to this
- function.
-
-
- ΓòÉΓòÉΓòÉ 13.4.2.12. PrevHistory ΓòÉΓòÉΓòÉ
-
- PrevHistory = Key (Up): Recalls the previous command from the command history.
-
-
- ΓòÉΓòÉΓòÉ 13.4.2.13. SaveHistory ΓòÉΓòÉΓòÉ
-
- SaveHistory = Key (Ctrl-K): Saves the command line in the command history list
- without executing it.
-
-
- ΓòÉΓòÉΓòÉ 13.4.3. History and @SELECT Window Keys ΓòÉΓòÉΓòÉ
-
- These directives apply only to the command history window, the directory
- history window, and %@SELECT windows. The History and @SELECT window keys are:
-
- DirWinOpen Opens the directory history window
- HistWinBegin Moves to the first line of the history window
- HistWinDel Deletes a line from within the history window
- HistWinEdit Moves a line from the history window to the prompt
- HistWinEnd Moves to the last line of the history window
- HistWinExec Executes the selected line in the history window
- HistWinOpen Opens the command history window
- NormalHWinKey Deassigns a history window key
-
-
- ΓòÉΓòÉΓòÉ 13.4.3.1. DirWinOpen ΓòÉΓòÉΓòÉ
-
- DirWinOpen = Key (Ctrl-PgUp): Opens the directory history window while at the
- command line.
-
-
- ΓòÉΓòÉΓòÉ 13.4.3.2. HistWinBegin ΓòÉΓòÉΓòÉ
-
- HistWinBegin = Key (Ctrl-PgUp): Moves to the first line of the history when in
- the history window.
-
-
- ΓòÉΓòÉΓòÉ 13.4.3.3. HistWinDel ΓòÉΓòÉΓòÉ
-
- HistWinDel = Key (Ctrl-D): Deletes a line from within the history window.
-
-
- ΓòÉΓòÉΓòÉ 13.4.3.4. HistWinEdit ΓòÉΓòÉΓòÉ
-
- HistWinEdit = Key (Ctrl-Enter): Moves a line from the history window to the
- prompt for editing.
-
-
- ΓòÉΓòÉΓòÉ 13.4.3.5. HistWinEnd ΓòÉΓòÉΓòÉ
-
- HistWinEnd = Key (Ctrl-PgDn): Moves to the last line of the history when in
- the history window.
-
-
- ΓòÉΓòÉΓòÉ 13.4.3.6. HistWinExec ΓòÉΓòÉΓòÉ
-
- HistWinExec = Key (Enter): Executes the selected line in the history window.
-
-
- ΓòÉΓòÉΓòÉ 13.4.3.7. HistWinOpen ΓòÉΓòÉΓòÉ
-
- HistWinOpen = Key (PgUp): Brings up the history window while at the command
- line.
-
-
- ΓòÉΓòÉΓòÉ 13.4.3.8. NormalHWinKey ΓòÉΓòÉΓòÉ
-
- NormalHWinKey = Key: Deassigns a history window key in order to disable the
- usual meaning of the key within the history window. For additional details see
- NormalKey.
-
-
- ΓòÉΓòÉΓòÉ 13.4.4. LIST Keys ΓòÉΓòÉΓòÉ
-
- These directives are effective only inside the LIST command. The LIST keys
- are:
-
- ListFind Prompts and searches for a string
- ListHex Toggles hexadecimal display mode
- ListHighBit Toggles LIST's "strip high bit" option
- ListInfo Displays information about the current file
- ListNext Finds the next matching string
- ListPrint Prints the file on LPT1
- ListWrap Toggles LIST's wrap option
- NormalListKey Deassigns a LIST key
-
-
- ΓòÉΓòÉΓòÉ 13.4.4.1. ListFind ΓòÉΓòÉΓòÉ
-
- ListFind = Key (F): Prompts and searches for a string.
-
-
- ΓòÉΓòÉΓòÉ 13.4.4.2. ListHex ΓòÉΓòÉΓòÉ
-
- ListHex = Key (X): Toggles hexadecimal display mode.
-
-
- ΓòÉΓòÉΓòÉ 13.4.4.3. ListHighBit ΓòÉΓòÉΓòÉ
-
- ListHighBit = Key (H): Toggles LIST's "strip high bit" option, which can aid
- in displaying files from certain word processors.
-
-
- ΓòÉΓòÉΓòÉ 13.4.4.4. ListInfo ΓòÉΓòÉΓòÉ
-
- ListInfo = Key (I): Displays information about the current file.
-
-
- ΓòÉΓòÉΓòÉ 13.4.4.5. ListNext ΓòÉΓòÉΓòÉ
-
- ListNext = Key (N): Finds the next matching string.
-
-
- ΓòÉΓòÉΓòÉ 13.4.4.6. ListPrint ΓòÉΓòÉΓòÉ
-
- ListPrint = Key (P): Prints the file on LPT1.
-
-
- ΓòÉΓòÉΓòÉ 13.4.4.7. ListWrap ΓòÉΓòÉΓòÉ
-
- ListWrap = Key (W): Toggles LIST's wrap option on and off. The wrap option
- wraps text at the right margin.
-
-
- ΓòÉΓòÉΓòÉ 13.4.4.8. NormalListKey ΓòÉΓòÉΓòÉ
-
- NormalListKey = Key: Deassigns a LIST key in order to disable the usual
- meaning of the key within LIST. For additional details see NormalKey.
-
-
- ΓòÉΓòÉΓòÉ 13.5. Advanced Directives ΓòÉΓòÉΓòÉ
-
- These directives are generally used for unusual circumstances, or for
- diagnosing problems. Most often they are not needed in normal use. The
- advanced directives are:
-
- ClearKeyMap Clear default key mappings
- NextINIFile Set secondary shell .INI file name
-
-
- ΓòÉΓòÉΓòÉ 13.5.1. ClearKeyMap ΓòÉΓòÉΓòÉ
-
- ClearKeyMap: Clears all current key mappings. ClearKeyMap is a special
- directive which has no value or "=" after it. Use ClearKeyMap to make one of
- the keys in the default map (Tab, Shift-Tab, Ctrl-Tab, or Ctrl-Bksp) available
- for a keystroke alias, or in the [Secondary] section of the .INI file to clear
- key mappings inherited from the primary shell. ClearKeyMap should appear
- before any key mapping directives. If you want to clear some but not all of
- the default mappings, use ClearKeyMap, then recreate the mappings you want to
- retain (e.g., with "NextFile=Tab", etc.).
-
-
- ΓòÉΓòÉΓòÉ 13.5.2. DescriptionName ΓòÉΓòÉΓòÉ
-
- DescriptionName = File: Sets the file name in which to store file
- descriptions. The default file name is DESCRIPT.ION. Use this directive with
- caution because changing the name from the default will make it difficult to
- transfer file descriptions to another system.
-
-
- ΓòÉΓòÉΓòÉ 13.5.3. NextINIFile ΓòÉΓòÉΓòÉ
-
- NextINIFile = File. The full path and name of the file must be specified. All
- subsequent shells will read the specified .INI file, and ignore any [Secondary]
- section in the original .INI file.
-
-
- ΓòÉΓòÉΓòÉ 14. 4OS2 Commands ΓòÉΓòÉΓòÉ
-
- The best way to learn the 4OS2 commands is to experiment with them. The lists
- below categorize the available commands by topic and will help you find the
- ones that you need.
-
- System configuration:
-
- CHCP CLS COLOR DATE
- FREE HISTORY KEYS KEYBD
- LOG MEMORY PROMPT REBOOT
- SETDOS TIME VER VERIFY
- VOL
-
- File and directory management:
-
- ATTRIB COPY DEL DESCRIBE
- LIST MOVE REN SELECT
- TYPE
-
- Subdirectory management:
-
- CD CDD DIR DIRS
- MD POPD PUSHD RD
-
- Input and output:
-
- DRAWBOX DRAWHLINE DRAWVLINE ECHO
- ECHOS INKEY INPUT SCREEN
- SCRPUT TEXT VSCRPUT
-
- Commands primarily for use in or with batch files and aliases (some work only
- in batch files; see the individual commands for details):
-
- ALIAS BEEP CALL CANCEL
- DELAY DO ENDLOCAL FOR
- GLOBAL GOSUB GOTO IF
- IFF LOADBTM ON PAUSE
- QUIT REM RETURN SETLOCAL
- SHIFT UNALIAS
-
- Environment and path commands:
-
- DPATH ESET PATH SET
- UNSET
-
- Other commands:
-
- ? DETACH EXCEPT
- EXIT FFIND HELP
- START TEE TIMER
- WINDOW Y
-
-
- ΓòÉΓòÉΓòÉ 14.1. ? - List the internal commands ΓòÉΓòÉΓòÉ
-
- Purpose: Display a list of internal commands or prompt for a command.
-
- Format: ? ["prompt text" command]
-
- Usage
-
- ? by itself displays a list of internal commands.
-
- If you have disabled a command with SETDOS /I, it will not appear in the list.
-
- If you add prompt text and a command, ? will display the prompt followed by
- "(Y/N)?" and wait for the user's response. If the user presses "Y" or "y",
- the command will be executed. If the user presses "N" or "n", the command
- will be ignored.
-
-
- ΓòÉΓòÉΓòÉ 14.2. ALIAS - Create or display aliases ΓòÉΓòÉΓòÉ
-
- Purpose: Create new command names that execute one or more commands or
- redefine default options for existing commands; assign commands to
- keystrokes; load or display the list of defined alias names.
-
- Format: ALIAS [/P /R file...] [name [=][value ]]
-
- file : One or more files to read for alias definitions.
- name : Name for an alias, or for the key to execute the alias.
- value : Text to be substituted for the alias name.
-
- /P(ause) /R(ead file)
-
- See also: UNALIAS.
-
- Usage
-
- The ALIAS command lets you create new command names or redefine internal
- commands. It also lets you assign one or more commands to a single keystroke.
- An alias is often used to execute a complex series of commands with a few
- keystrokes or to create "in memory batch files" that run much faster than
- disk-based batch files.
-
- For example, if you would rather type D instead of DIR /W, you would use the
- command:
-
- [c:\] alias d = dir /w
-
- Now when you type a single d as a command, it will be translated into a DIR /W
- command.
-
- If you define aliases for commonly used application programs, you can often
- remove the directories they're stored in from the PATH. For example, if you
- use Quattro Pro and had the C:\QPRO directory in your path, you could define
- the following alias:
-
- [c:\] alias qpro = c:\qpro\q.exe
-
- With this alias defined, you can probably remove C:\QPRO from your path.
- Quattro Pro will now load much faster than it would if 4OS2 had to search the
- PATH for it. In addition, the PATH can be shorter, which will speed up
- searches for other programs.
-
- If you apply this technique for each application program, you can often reduce
- your PATH to just two or three directories containing utility programs, and
- significantly reduce the time it takes to load most software on your system.
- Before removing a directory from the PATH, you will need to define aliases for
- all the executable programs you commonly use which are stored in that
- directory.
-
- Aliases are stored in memory, and are not saved automatically when you turn
- off your computer or end your current session. See below for information on
- saving and reloading your aliases.
-
- Multiple Commands and Special Characters in Aliases
-
- An alias can represent more than one command. For example:
-
- [c:\] alias letters = `cd \letters & text`
-
- creates a new command called LETTERS. The command first uses CD to change to
- a subdirectory called \LETTERS and then runs a program called TEXT. The
- ampersand [&] is the command separator and indicates that the two commands are
- distinct and should be executed sequentially.
-
- Aliases make extensive use of the command separator, and the parameter
- character, and may also use the escape character. These characters differ
- between 4DOS and 4OS2 or 4DOS/NT. In the text and examples below, we use the
- 4OS2 characters. If you want to use the same aliases under different command
- processors, see 4DOS, 4OS2, and 4DOS/NT Compatibility.
-
- When you type alias commands at the command line or in a batch file, you must
- use back quotes [`] around the definition if it contains multiple commands,
- parameters (discussed below), environment variables, redirection, or piping.
- The back quotes prevent premature expansion of these arguments. You may use
- back quotes around other definitions, but they are not required. (You do not
- need back quotes when your aliases are loaded from an ALIAS /R file; see below
- for details.) The examples above and below include back quotes only when they
- are required.
-
- Nested Aliases
-
- Aliases may invoke internal commands, external commands, or other aliases.
- (However, an alias may not invoke itself, except in special cases where an IF
- or IFF command is used to prevent an infinite loop.) The two aliases below
- demonstrate alias nesting (one alias invoking another). The first line
- defines an alias which runs a program called WP.EXE that is in the E:\WP60\
- subdirectory. The second alias changes directories with the PUSHD command,
- runs the WP alias, and then returns to the original directory with the POPD
- command:
-
- [c:\] alias wp = e:\wp60\wp.exe
- [c:\] alias w = `pushd c:\wp & wp & popd`
-
- The second alias above could have included the full path and name of the
- WP.EXE program instead of calling the WP alias. However, writing two aliases
- makes the second one easier to read and understand, and makes the first alias
- available for independent use. If you rename the WP.EXE program or move it to
- a new directory, only the first alias needs to be changed.
-
- Temporarily Disabling Aliases
-
- If you put an asterisk [*] immediately before a command in the value of an
- alias definition (the part after the equal sign), it tells 4OS2 not to attempt
- to interpret that command as another (nested) alias. An asterisk used this
- way must be preceded by a space or the command separator and followed
- immediately by an internal or external command name.
-
- By using an asterisk, you can redefine the default options for any internal
- command. For example, suppose that you always want to use the DIR command
- with the /2 (two column) and /P (pause at the end of each page) options:
-
- [c:\] alias dir = *dir /2/p
-
- If you didn't include the asterisk, the second DIR on the line would be the
- name of the alias itself, and 4OS2 would repeatedly re- invoke the DIR alias,
- rather than running the DIR command. This would cause an "Alias loop" or
- "Command line too long" error.
-
- An asterisk also helps you keep the names of internal commands from
- conflicting with the names of external programs. For example, suppose you
- have a program called LIST.COM. Normally, the internal LIST command will run
- anytime you type LIST. But two simple aliases will give you access to both
- the LIST.COM program and the LIST command:
-
- [c:\] alias list = c:\util\list.com
- [c:\] alias display = *list
-
- The first line above defines LIST as an alias for the LIST.COM program. If
- you stopped there, the external program would run every time you typed LIST
- and you would not have easy access to the internal LIST command. The second
- line renames the internal LIST command as DISPLAY. The asterisk is needed in
- the second command to indicate that the following word means the internal
- command LIST, not the LIST alias which runs your external program.
-
- You can also use an asterisk before a command that you enter at the command
- line or in a batch file. If you do, that command won't be interpreted as an
- alias. This can be useful when you want to be sure you are running the true,
- original command and not an alias with the same name, or temporarily defeat
- the purpose of an alias which changes the meaning or behavior of a command.
-
- Partial Alias Names
-
- You can also use an asterisk in the name of an alias. When you do, the
- characters following the asterisk are optional when you invoke the alias
- command. (Use of an asterisk in the alias name is unrelated to the use of an
- asterisk in the alias value discussed above.) For example, with this alias:
-
- [c:\] alias wher*eis = dir /sp
-
- the new command, WHEREIS, can be invoked as WHER, WHERE, WHEREI, or WHEREIS.
- Now if you type:
-
- [c:\] where myfile.txt
-
- The WHEREIS alias will be expanded to the command:
-
- dir /sp myfile.txt
-
- Keystroke Aliases
-
- If you want to assign an alias to a keystroke, use the keyname on the left
- side of the equal sign, preceded by an at sign [@]. For example, to assign the
- command DIR /W to the F5 key, type
-
- [c:\] alias @F5 = dir /w
-
- See Keys and Key Names for a complete listing of key names and a description
- of the key name format.
-
- When you define keystroke aliases, the assignments will only be in effect at
- the command line, not inside application programs. Be careful not to assign
- aliases to keys that are already used at the command line (like F1 for Help).
- The command-line meanings take precedence and the keystroke alias will never
- be invoked. If you want to use one of the command-line keys for an alias
- instead of its normal meaning, you must first disable its regular use with the
- NormalKey or NormalEditKey directive in your .INI file.
-
- If you define a keystroke alias with a single at sign as shown above, then,
- when you press the F5 key, the value of the alias (DIR /W above) will be
- placed on the command line for you. You can type additional parameters if you
- wish and then press Enter to execute the command. With this particular alias,
- you can define the files that you want to display after pressing F5 and before
- pressing Enter to execute the command.
-
- If you want the keystroke alias to take action automatically without waiting
- for you to edit the command line or press Enter, you can begin the definition
- with two at signs [@@]. 4OS2 will execute the alias "silently," without
- displaying its text on the command line. For example, this command will
- assign an alias to the F6 key that uses the CDD command to take you back to
- the previous default directory:
-
- [c:\] alias @@f6 = cdd -
-
- You can also define a keystroke alias by using "@" or "@@" plus a scan code
- for one of the permissible keys (see the Reference Tables for a list of scan
- codes). In most cases it will be easier to use key names. Scan codes should
- only be used with unusual keyboards where a key name is not available for the
- key you are using.
-
- Displaying Aliases
-
- If you want to see a list of all current ALIAS commands, type:
-
- [c:\] alias
-
- You can also view the definition of a single alias. If you want to see the
- definition of the alias LIST, you can type:
-
- [c:\] alias list
-
- Saving and Reloading Your Aliases
-
- You can save your aliases to a file called ALIAS.LST this way:
-
- [c:\] alias > alias.lst
-
- You can then reload all the alias definitions in the file the next time you
- boot up with the command:
-
- [c:\] alias /r alias.lst
-
- This is much faster than defining each alias individually in a batch file. If
- you keep your alias definitions in a separate file which you load when your
- system starts, you can edit them with a text editor, reload the edited file
- with ALIAS /R, and know that the same alias list will be loaded the next time
- you boot your computer.
-
- When you define aliases in a file that will be read with the ALIAS /R command,
- you do not need back quotes around the value, even if back quotes would
- normally be required when defining the same alias at the command line or in a
- batch file.
-
- To remove an alias, use the UNALIAS command.
-
- Alias Parameters
-
- Aliases can use command-line arguments or parameters like those in batch
- files. The command-line arguments are numbered from %0 to %127. %0 contains
- the alias name. It is up to the alias to determine the meaning of the other
- parameters. You can use quotation marks to pass spaces, tabs, commas, and
- other special characters in an alias parameter; see Argument Quoting for
- details.
-
- Parameters that are referred to in an alias, but which are missing on the
- command line, appear as empty strings inside the alias. For example, if you
- put two parameters on the command line, any reference in the alias to %3 or
- any higher-numbered parameter will be interpreted as an empty string.
-
- The parameter %n$ has a special meaning. 4OS2 interprets it to mean "the
- entire command line, from argument n to the end." If n is not specified, it
- has a default value of 1, so %$ means "the entire command line after the alias
- name." The special parameter %# contains the number of command-line
- arguments.
-
- For example, the following alias will change directories, perform a command,
- and return to the original directory:
-
- [c:\] alias in `pushd %1 & %2$ & popd`
-
- When this alias is invoked as:
-
- [c:\] in c:\comm mycomm /xmodem /2400
-
- the first parameter, %1, has the value c:\comm. %2 is mycomm, %3 is /xmodem,
- and %4 is /2400. The command line expands into these three separate commands:
-
- pushd c:\comm
- mycomm /xmodem /2400
- popd
-
- This next example uses the IFF command to redefine the defaults for SET. It
- should be entered on one line:
-
- [c:\] alias set = `iff %# == 0 then & *set /p
- & else & *set %& & endiff`
-
- This modifies the SET command so that if SET is entered with no arguments, it
- is replaced by SET /P (pause after displaying each page), but if SET is
- followed by an argument, it behaves normally. Note the use of asterisks (*set)
- to prevent alias loops.
-
- If an alias uses parameters, command-line arguments will be deleted up to and
- including the highest referenced argument. For example, if an alias refers
- only to %1 and %4, then the first and fourth arguments will be used, the
- second and third arguments will be discarded, and any additional arguments
- beyond the fourth will be appended to the expanded command (after the value
- portion of the alias). If an alias uses no parameters, all of the command-
- line arguments will be appended to the expanded command.
-
- Aliases also have full access to all variables in the environment, internal
- variables, and variable functions. For example, you can create a simple
- command-line calculator this way (enter this on one line):
-
- [c:\] alias calc = `echo The answer is: %@eval[%&]`
-
- Now, if you enter:
-
- [c:\] calc 5 * 6
-
- the alias will display:
-
- The answer is: 30
-
- Local and Global Aliases
-
- The aliases can be stored in either a "local" or "global" list.
-
- With a local alias list, any changes made to the aliases will only affect the
- current copy of 4OS2. They will not be visible in other shells or other
- sessions.
-
- With a global alias list, all copies of 4OS2 will share the same alias list,
- and any changes made to the aliases in one copy will affect all other copies.
- This is the default.
-
- You can control the type of alias list with the LocalAliases directive in the
- .INI file, and with the /L and /LA options of the START command.
-
- Whenever you start a secondary shell which uses a local alias list, it
- inherits a copy of the aliases from the previous shell. However, any changes
- to the alias made in the secondary shell will affect only that shell. If you
- want changes made in a secondary shell to affect the previous shell, use a
- global alias list in both shells.
-
- Retaining Global Aliases with SHRALIAS
-
- If you select a global alias list for 4OS2 you can share the aliases among all
- copies of 4OS2 running in any session. When you close all 4OS2 sessions, the
- memory for the global alias list is released, and a new, empty alias list is
- created the next time you start 4OS2.
-
- If you want the alias list to be retained in memory even when no command
- processor session is running, you need to load the SHRALIAS program, which
- performs this service for both the global alias list and the global history
- list. SHRALIAS is supplied with your copy of 4OS2.
-
- To load SHRALIAS, simply run the SHRALIAS.EXE program, which is normally
- installed in the same directory as 4OS2. You may find it convenient to load
- SHRALIAS from your 4START file or your STARTUP.CMD file.
-
- SHRALIAS runs as a "detached" process, which means it does not have a screen
- display or accept keyboard input. It is shut down automatically when OS/2
- shuts down. To unload SHRALIAS manually, run SHRALIAS.EXE with the parameter
- /U.
-
- The UNKNOWN_CMD Alias
-
- If you create an alias with the name UNKNOWN_CMD, it will be executed any time
- 4OS2 would normally issue an "Unknown command" error message. This allows you
- to define your own handler for unknown commands. When the UNKNOWN_CMD alias
- is executed, the command line which generated the error is passed to the alias
- for possible processing.
-
- Use caution when you create the UNKNOWN_CMD alias. If it contains an unknown
- command, it will be called repeatedly and 4OS2 will lock up in an infinite
- loop.
-
- Options
-
- /P: (Pause) This option is only effective when ALIAS is used to display
- existing definitions. It pauses the display after each page and
- waits for a keystroke before continuing (see Page and File
- Prompts).
-
- /R: (Read file) This option loads an alias list from a file. The format
- of the file is the same as that of the ALIAS display:
-
- name=value
-
- where name is the name of the alias and value is its value. You
- can use an equal sign [=] or space to separate the name and value.
- Back quotes are not required around the value. You can add
- comments to the file by starting each comment line with a colon
- [:]. You can load multiple files with one ALIAS /R command by
- placing the names on the command line, separated by spaces:
-
- [c:\] alias /r alias1.lst alias2.lst
-
- Each definition in an ALIAS /R file can be up to 2047 characters
- long. The definitions can span multiple lines in the file if each
- line, except the last, is terminated with an escape character.
-
-
- ΓòÉΓòÉΓòÉ 14.3. ATTRIB - Change or view file attributes ΓòÉΓòÉΓòÉ
-
- Purpose: Change or view file and subdirectory attributes.
-
- Format: ATTRIB [/A:[[-]rhsda] /D /P /Q /S] [+|-[AHRS]] files ...
-
- files : A file, directory, or list of files or directories on
- which to operate.
-
- /A(ttribute select) /Q(uiet)
- /D(irectories) /S(ubdirectories)
- /P(ause)
-
- Attribute flags:
-
- +A Set the archive attribute
- -A Clear the archive attribute
- +H Set the hidden attribute
- -H Clear the hidden attribute
- +R Set the read-only attribute
- -R Clear the read-only attribute
- +S Set the system attribute
- -S Clear the system attribute
-
- File Selection
-
- Supports extended wildcards, ranges, multiple file names, and include lists.
-
- Usage
-
- Every file and subdirectory has 4 attributes that can be turned on (set) or
- turned off (cleared): Archive, Hidden, Read- only, and System.
-
- The ATTRIB command lets you set or clear attributes for any file, group of
- files, or subdirectory. You can view file attributes by entering ATTRIB
- without specifying new attributes (i.e., without the [+|-[AHRS]] part of the
- format), or with the DIR /T command.
-
- For example, you can set the read-only and hidden attributes for the file MEMO
- :
-
- [c:\] attrib +rh memo
-
- Attribute options apply to the file(s) that follow the options on the ATTRIB
- command line. The example below shows how to set different attributes on
- different files with a single command. It sets the archive attribute for all
- .TXT files, then sets the system attribute and clears the archive attribute
- for TEST.COM :
-
- [c:\] attrib +a *.txt +s -a test.com
-
- Your operating system also supports "D" (subdirectory) and "V" (volume label)
- attributes. These attributes cannot be altered with ATTRIB; they are designed
- to be controlled only by the operating system itself.
-
- Options
-
- /A: (Attribute select) Select only those files that have the specified
- attribute(s) set. Preceding the attribute character with a hyphen
- [-] will select files that do not have that attribute set. The
- attributes are:
-
- R Read-only
- H Hidden
- S System
- D Subdirectory
- A Archive
-
- If no attributes are listed at all (e.g., ATTRIB /A: ...), ATTRIB
- will select all files and subdirectories including hidden and
- system files. If attributes are combined, all the specified
- attributes must match for a file to be selected. For example,
- /A:RHS will select only those files with all three attributes set.
-
- /D: (Directories) If you use the /D option, ATTRIB will modify the
- attributes of subdirectories in addition to files (yes, you can
- have a hidden subdirectory):
-
- [c:\] attrib /d +h c:\mydir
-
- In addition, the /D option will keep ATTRIB from appending "\*.*"
- to the end of a directory name and modifying the attributes of all
- the files in the subdirectory.
-
- If you use a directory name instead of a file name, and omit /D,
- ATTRIB will append "\*.*" to the end of the name and act on all
- files in that directory, rather than acting on the directory
- itself.
-
- /P: (Pause) Wait for a key to be pressed after each screen page before
- continuing the display. Your options at the prompt are explained
- in detail under Page and File Prompts.
-
- /Q: (Quiet) This option turns off ATTRIB's normal screen output. It is
- most useful in batch files.
-
- /S: (Subdirectories) If you use the /S option, the ATTRIB command will
- be applied to all matching files in the current or named directory
- and all of its subdirectories.
-
-
- ΓòÉΓòÉΓòÉ 14.4. BEEP - Beep the speaker ΓòÉΓòÉΓòÉ
-
- Purpose: Beep the speaker or play simple music.
-
- Format: BEEP [frequency duration ...]
-
- frequency : The beep frequency in Hertz (cycles per second).
- duration : The beep length in 1/18th second intervals.
-
- Usage
-
- BEEP generates a sound through your computer's speaker. It is normally used
- in batch files to signal that an operation has been completed, or that the
- computer needs attention.
-
- Because BEEP allows you to specify the frequency and duration of the sound,
- you can also use it to play simple music or to create different kinds of
- signals for the user.
-
- You can include as many frequency and duration pairs as you wish. No sound
- will be generated for frequencies less than 20 Hz, allowing you to insert
- short delays. The default value for frequency is 440 Hz; the default value
- for duration is 2.
-
- This batch file fragment runs a program called DEMO, then plays a few notes
- and waits for you to press a key:
-
- demo & beep 440 4 600 2 1040 6
- pause Finished with the demo - hit a key...
-
- The following table gives the frequency values for a five octave range (middle
- C is 262 Hz):
-
- ΓòöΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòñΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòñΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòñΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòñΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòñΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòù
- Γòæ C Γöé 131 Γöé 262 Γöé 523 Γöé 1046 Γöé 2093 Γòæ
- Γòæ C#/Db Γöé 139 Γöé 277 Γöé 554 Γöé 1108 Γöé 2217 Γòæ
- Γòæ D Γöé 147 Γöé 294 Γöé 587 Γöé 1175 Γöé 2349 Γòæ
- Γòæ D#/Eb Γöé 156 Γöé 311 Γöé 622 Γöé 1244 Γöé 2489 Γòæ
- Γòæ E Γöé 165 Γöé 330 Γöé 659 Γöé 1318 Γöé 2637 Γòæ
- Γòæ F Γöé 175 Γöé 349 Γöé 698 Γöé 1397 Γöé 2794 Γòæ
- Γòæ F#/Gb Γöé 185 Γöé 370 Γöé 740 Γöé 1480 Γöé 2960 Γòæ
- Γòæ G Γöé 196 Γöé 392 Γöé 784 Γöé 1568 Γöé 3136 Γòæ
- Γòæ G#/Ab Γöé 208 Γöé 415 Γöé 831 Γöé 1662 Γöé 3322 Γòæ
- Γòæ A Γöé 220 Γöé 440 Γöé 880 Γöé 1760 Γöé 3520 Γòæ
- Γòæ A#/Bb Γöé 233 Γöé 466 Γöé 932 Γöé 1866 Γöé 3729 Γòæ
- Γòæ B Γöé 248 Γöé 494 Γöé 988 Γöé 1973 Γöé 3951 Γòæ
- ΓòÜΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòºΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòºΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòºΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòºΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòºΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓò¥
-
-
- ΓòÉΓòÉΓòÉ 14.5. CALL - Execute one batch file from another ΓòÉΓòÉΓòÉ
-
- Purpose: Execute one batch file from within another.
-
- Format: CALL file
-
- file : The batch file to execute.
-
- See also: CANCEL and QUIT.
-
- Usage
-
- CALL allows batch files to call other batch files (batch file nesting). The
- calling batch file is suspended while the called (second) batch file runs.
- When the second batch file finishes, the original batch file resumes execution
- at the next command. If you execute a batch file from inside another batch
- file without using CALL, the first batch file is terminated before the second
- one starts.
-
- 4OS2 supports batch file nesting up to ten levels deep.
-
- The current ECHO state is inherited by a called batch file.
-
- A called batch file will return to the calling file after processing the last
- line in the called file, or when a QUIT command is executed. A called batch
- file should always return in this way, or terminate all batch files with
- CANCEL. Restarting (or CALLing) the original batch file from within a called
- file will prevent 4OS2 from detecting that you've left the second file, and it
- may cause an infinite loop or a stack overflow.
-
- CALL returns an exit code which matches the batch file return code. You can
- test this exit code with the %_? or %? environment variable, and use it with
- conditional commands(&& and ||).
-
-
- ΓòÉΓòÉΓòÉ 14.6. CANCEL - Terminate batch file processing ΓòÉΓòÉΓòÉ
-
- Purpose: Terminate batch file processing.
-
- Format: CANCEL [value ]
-
- value : The exit code from 0 to 255 to return to 4OS2.
-
- See also: CALL and QUIT.
-
- Usage
-
- The CANCEL command ends all batch file processing, regardless of the batch
- file nesting level. Use QUIT to end a nested batch file and return to the
- previous batch file.
-
- You can CANCEL at any point in a batch file. If CANCEL is used from within an
- alias it will end execution of both the alias and any batch file(s) which are
- running at the time.
-
- The following batch file fragment compares an input line to "end" and
- terminates all batch file processing if it matches:
-
- input Enter your choice: %%option
- if "%option" == "end" cancel
-
- If you specify a value, CANCEL will set the ERRORLEVEL or exit code to
- thatvalue (see the IF command, and the %? variable).
-
-
- ΓòÉΓòÉΓòÉ 14.7. CD - Change the current directory ΓòÉΓòÉΓòÉ
-
- Purpose: Display or change the current directory.
-
- Format: CD [ path | - ]
- or
- CHDIR [ path | - ]
-
- path : The directory to change to, including an optional drive
- name.
-
- See also: CDD, MD, PUSHD, RD, and CDPATH.
-
- Usage
-
- CD and CHDIR are synonyms. You can use either one.
-
- CD lets you navigate through the disk subdirectory structure by changing the
- current working directory. If you enter CD and a directory name, the named
- directory becomes the new current directory. For example, to change to the
- subdirectory C:\FINANCE\MYFILES :
-
- [c:\] cd \finance\myfiles
- [c:\finance\myfiles]
-
- Every disk drive on the system has its own current directory. Specifying both
- a drive and a directory in the CD command will change the current directory on
- the specified drive, but will not change the default drive. For example, to
- change the default directory on drive A:
-
- [c:\] cd a:\utility
- [c:\]
-
- Notice that this command does not change to drive A:. Use the CDD command to
- change the current drive and directory at the same time.
-
- You can change to the parent directory with CD ..; you can also go up one
- additional directory level with each additional [.]. For example, CD .... will
- go up three levels in the directory tree (see Extended Parent Directory
- Names). You can move to a sibling directory -- one that branches from the
- same parent directory as the current subdirectory -- with a command like CD
- ..\newdir.
-
- If you enter CD with no argument or with only a disk drive name, it will
- display the current directory on the default or named drive.
-
- CD saves the current directory before changing to a new directory. You can
- switch back to the previous directory by entering CD -. (There must be a space
- between the CD command and the hyphen.) You can switch back and forth between
- two directories by repeatedly entering CD -. The saved directory is the same
- for both the CD and CDD commands. Drive changes and automatic directory
- changes also modify the saved directory, so you can use CD - to return to a
- directory that you exited with an automatic directory change.
-
- Directory changes made with CD are recorded for display in the directory
- history window.
-
- CD never changes the default drive. If you change directories on one drive,
- switch to another drive, and then enter CD -, the directory will be restored
- on the first drive but the current drive will not be changed.
-
- If CD can't change directly to the specified directory, it will look for the
- CDPATH variable; see CDPATH for details.
-
-
- ΓòÉΓòÉΓòÉ 14.8. CDD - Change the current drive and directory ΓòÉΓòÉΓòÉ
-
- Purpose: Change the current disk drive and directory.
-
- Format: CDD path
-
- path : The name of the directory (or drive and directory) to
- change to.
-
- See also: CD, MD, PUSHD, RD, and CDPATH.
-
- Usage
-
- CDD is similar to the CD command, except that it also changes the default disk
- drive if one is specified. CDD will change to the directory and drive you
- name. To change from the root directory on drive A to the subdirectory C:\WP:
-
- [a:\] cdd c:\wp
- [c:\wp]
-
- You can change to the parent directory with CDD ..; you can also go up one
- additional directory level with each additional [.]. For example, CDD ....
- will go up three levels in the directory tree.
-
- CDD saves the current drive and directory before changing to a new directory.
- You can switch back to the previous drive and directory by entering CDD -.
- (There must be a space between the CDD command and the hyphen.) You can
- switch back and forth between two drives and directories by repeatedly
- entering CDD -. The saved directory is the same for both the CD and CDD
- commands. Drive changes and automatic directory changes also modify the saved
- directory, so you can use CDD - to return to a directory that you exited with
- a drive change or an automatic directory change.
-
- Directory changes made with CDD are recorded for display in the directory
- history window.
-
- If CDD can't change directly to the specified directory, it will look for the
- CDPATH variable; see CDPATH for details.
-
-
- ΓòÉΓòÉΓòÉ 14.9. CHCP - Change the current code page ΓòÉΓòÉΓòÉ
-
- Purpose: Display or change the current system code page.
-
- Format: CHCP [n ]
-
- n : A system code page number.
-
- Usage
-
- Code page switching allows you to select different character sets for language
- support.
-
- If you enter CHCP without a number, the current code page is displayed.
-
- [c:\] chcp
- Active code page: 437
-
- If you enter CHCP plus a code page number, the system code page is changed.
- For example, to set the code page to multilingual:
-
- [c:\] chcp 850
-
- CHCP accepts one of the prepared system code pages. An error message is
- displayed if a code page is selected that has not been prepared for the
- system.
-
- See your OS/2 documentation for more information on CHCP.
-
-
- ΓòÉΓòÉΓòÉ 14.10. CLS - Clear the screen ΓòÉΓòÉΓòÉ
-
- Purpose: Clear the video display and move the cursor to the upper left
- corner; optionally change the default display and border colors.
-
- Format: CLS [[BRIght] [BLInk] fg ON [BRIght] bg ] [BORder bc ]
-
- fg : The new foreground color
- bg : The new background color
- bc : The new border color
-
- Usage
-
- CLS can be used to clear the screen without changing colors, or to clear the
- screen and change the screen colors simultaneously. These three examples show
- how to clear the screen to the default colors, to bright white letters on a
- blue background, and to bright yellow letters on a magenta background with a
- blue border:
-
- [c:\] cls
- [c:\] cls bright white on blue
- [c:\] cls bri yel on mag bor blu
-
- CLS is often used in batch files to clear the screen before displaying text.
-
- See Colors and Color Names for details about colors and notes on the use of
- bright background colors.
-
-
- ΓòÉΓòÉΓòÉ 14.11. COLOR - Change the display colors ΓòÉΓòÉΓòÉ
-
- Purpose: Change the default display colors.
-
- Format: COLOR [BRIght] [BLInk] fg ON [BRIght] bg [BORder bc ]
-
- fg : The new foreground color
- bg : The new background color
- bc : The new border color
-
- See also: CLS, and Colors and Color Names for details about using colors.
-
- Usage
-
- COLOR is normally used in batch files before displaying text. For example, to
- set screen colors to bright white on blue, you can use this command:
-
- [c:\] color bright white on blue
-
-
- ΓòÉΓòÉΓòÉ 14.12. COPY - Copy files ΓòÉΓòÉΓòÉ
-
- Purpose: Copy data between disks, directories, files, or physical hardware
- devices (such as your printer or serial port).
-
- Format: COPY [/A:[[-]rhsda] /C /H /M /N /P /Q /R /S /T /U /V] source [+]
- ... [/A /B] destination [/A /B]
-
- source : A file or list of files or a device to copy from.
- destination : A file, directory, or device to copy to.
-
- /A(SCII) /P(rompt)
- /A:(ttribute select) /Q(uiet)
- /B(inary) /R(eplace)
- /C(hanged) /S(ubdirectories)
- /H(idden) /T(otals)
- /M(odified) /U(pdate)
- /N(othing) /V(erify)
-
- See also: ATTRIB, MOVE, and REN.
-
- File Selection
-
- Supports extended wildcards, ranges, multiple file names, and include lists.
- Date, time, or size ranges anywhere on the line apply to all source files.
-
- Usage
-
- The COPY command accepts all traditional syntax and options and adds several
- new features.
-
- The simplest use of COPY is to make a copy of a file, like this example which
- makes a copy of a file called FILE1.ABC :
-
- [c:\] copy file1.abc file2.def
-
- You can also copy a file to another drive and/or directory. The following
- command copies FILE1 to the \MYDIR directory on drive E:
-
- [c:\] copy file1 e:\mydir
-
- You can copy several files at once by using wildcards:
-
- [c:\] copy *.txt e:\mydir
-
- You can also list several source files in one command. The following command
- copies 3 files from the current directory to the \MYDIR directory on drive E:
-
- [c:\] copy file1 file2 file3 e:\mydir
-
- The way COPY interprets your command line depends on how many arguments (file,
- directory, or device names) are on the line, and whether the arguments are
- separated with [+] signs or spaces.
-
- If there is only one argument on the line, COPY assumes it is the source, and
- uses the current drive and directory as the destination. For example, the
- following command copies all the .DAT files on drive A to the current
- directory on drive C:
-
- [c:\] copy a:*.dat
-
- If there are two or more arguments on the line and [+] signs are not used,
- then COPY assumes that the last argument is the destination and copies all
- source files to this new location. If the destination is a drive, directory,
- or device name then the source files are copied individually to the new
- location. If the destination is a file name, the first source file is copied
- to the destination, and any additional source files are then appended to the
- new destination file.
-
- For example, the first of these commands copies the .DAT files from the
- current directory on drive A individually to C:\MYDIR (which must already
- exist as a directory); the second appends all the .DAT files together into one
- large file called C:\DATA (assuming C:\DATA is not a directory):
-
- [c:\] copy a:*.dat c:\mydir\
- [c:\] copy a:*.dat c:\data
-
- When you copy to a directory, if you add a backslash [\] to the end of the
- name as shown in the first example above, COPY will display an error message
- if the name does not refer to an existing directory. You can use this feature
- to keep COPY from treating a mistyped destination directory name as a file
- name and attempting to append all your source files to a destination file,
- when you really meant to copy them individually to a destination directory.
-
- A plus [+] tells COPY to append two or more files to a single destination
- file. If you list several source files separated with [+] and don't specify a
- destination, COPY will use the name of the first source file as the
- destination, and append each subsequent file to the first file. In this case
- the destination file will always be created in the current directory, even if
- the first source file is in another directory or on another drive.
-
- For example, the following command will append the contents of C:\MEMO2 and
- C:\MEMO3 to C:\MEMO1 and leave the combined contents in the file named
- C:\MEMO1 :
-
- [c:\] copy memo1+memo2+memo3
-
- To append the same three files but store the result in BIGMEMO:
-
- [c:\] copy memo1+memo2+memo3 bigmemo
-
- To append C:\MEM\MEMO2 and C:\MEM\MEMO3 to D:\DATA\MEMO1, and leave the result
- in C:\MEM\MEMO1 :
-
- [c:\mem] copy d:\data\memo1+memo2+memo3
-
- You cannot append files to a device (such as a printer); if you try to do so,
- COPY will ignore the [+] signs and copy the files individually. If you
- attempt to append several source files to a destination directory or disk,
- COPY will append the files and place the copy in the new location with the
- same name as the first source file.
-
- If your destination has wildcards in it, COPY will attempt to match them with
- the source names. For example, this command copies the .DAT files from drive
- A to C:\MYDIR and gives the new copies the extension .DX :
-
- [c:\] copy a:*.dat c:\mydir\*.dx
-
- This feature can give you unexpected results if you use it with multiple
- source file names. For example, suppose that drive A contains XYZ.DAT and
- XYZ.TXT. The command
-
- [c:\] copy a:\*.dat a:\*.txt c:\mydir\*.dx
-
- will copy A:XYZ.DAT to C:\MYDIR\XYZ.DX. Then it will copy A:XYZ.TXT to
- C:\MYDIR\XYZ.DX, overwriting the first file it copied.
-
- COPY also understands include lists, so you can specify several different
- kinds of files in the same command. This command copies the .TXT, .DOC, and
- .BAT files from the E:\MYDIR directory to the root directory of drive A:
-
- [c:\] copy e:\mydir\*.txt;*.doc;*.bat a:\
-
- You can use date, time, and size ranges to further define the files that you
- want to copy. This example copies every file in the E:\MYDIR directory, which
- was created or modified yesterday, and which is also 10,000 bytes or smaller
- in size, to the root directory of drive A:
-
- [c:\] copy /[d-1] /[s0,10000] e:\mydir\*.* a:\
-
- COPY maintains the hidden and system attributes of files, but not the
- read-only attribute. The destination file will always have the archive
- attribute set.
-
- Options
-
- The /A(SCII) and /B(inary) options apply to the preceding filename and to all
- subsequent filenames on the command line until the file name preceding the
- next /A or /B, if any. The other options (/A:, /C, /H, /M, /N, /P, /Q, /R,
- /S, /T, /U, /V) apply to all filenames on the command line, no matter where
- you put them. For example, either of the following commands could be used to
- copy a font file to the printer in binary mode:
-
- [c:\] copy /b myfont.dat prn
- [c:\] copy myfont.dat /b prn
-
- Some options do not make sense in certain contexts, in which case COPY will
- ignore them. For example, you cannot prompt before replacing an existing file
- when the destination is a device such as the printer -- there's no such thing
- as an "existing file" on the printer. If you use conflicting output options,
- like /Q and /P, COPY will take a "conservative" approach and give priority to
- the option which generates more prompts or more information.
-
- /A: (ASCII) If you use /A with a source filename, the file will be
- copied up to, but not including, the first Ctrl-Z (Control-Z or
- ASCII 26) character in the file. If you use /A with a destination
- filename, a Ctrl-Z will be added to the end of the file (some
- application programs use the Ctrl-Z to mark the end of a file). /A
- is the default when appending files, or when the destination is a
- device like NUL or PRN, rather than a disk file.
-
- /A: (Attribute select) Select only those files that have the specified
- attribute(s) set. Preceding the attribute character with a hyphen
- [-] will select files that do not have that attribute set. The
- attributes are:
-
- R Read-only
- H Hidden
- S System
- D Subdirectory
- A Archive
-
- If no attributes are listed at all (e.g., COPY /A: ...), COPY will
- select all files and subdirectories including hidden and system
- files. If attributes are combined, all the specified attributes
- must match for a file to be selected. For example, /A:RHS will
- select only those files with all three attributes set. You must
- include the colon with this option to distinguish it from the
- /A(SCII) switch, above.
-
- /B: (Binary) If you use /B with a source filename, the entire file is
- copied; Ctrl-Z characters in the file do not affect the copy
- operation. Using /B with a destination filename prevents addition
- of a Ctrl-Z to the end of the destination file. /B is the default
- for normal file copies.
-
- /C: (Changed files) Copy files only if the destination file exists and
- is older than the source (see also /U). This option is useful for
- updating the files in one directory from those in another without
- copying any newly created files.
-
- /H: (Hidden) Copy all matching files including those with the hidden
- and/or system attribute set.
-
- /M: (Modified) Copy only those files with the archive attribute set,
- i.e., those which have been modified since the last backup. The
- archive attribute will not be cleared after copying; to clear it
- use ATTRIB.
-
- /N: (Nothing) Do everything except actually perform the copy. This
- option is useful for testing what the result of a complex COPY
- command will be.
-
- /P: (Prompt) Ask the user to confirm each source file. Your options at
- the prompt are explained in detail under Page and File Prompts.
-
- /Q: (Quiet) Don't display filenames or the total number of files
- copied. This option is most often used in batch files. See also
- /T.
-
- /R: (Replace) Prompt the user before overwriting an existing file.
- Your options at the prompt are explained in detail under Page and
- File Prompts.
-
- /S: (Subdirectories) Copy the subdirectory tree starting with the files
- in the source directory plus each subdirectory below that. The
- destination must be a directory; if it doesn't exist, COPY will
- attempt to create it. COPY will also attempt to create needed
- subdirectories on the tree below the destination, including empty
- source directories. If you attempt to use COPY /S to copy a
- subdirectory tree into part of itself, COPY will display an error
- message and exit.
-
- /T: (Totals) Turns off the display of filenames, like /Q, but does
- display the total number of files copied.
-
- /U: (Update) Copy each source file only if it is newer than a matching
- destination file or if a matching destination file does not exist
- (see also /C). This option is useful for keeping one directory
- matched with another with a minimum of copying.
-
- /V: (Verify) Verify each disk write. This is the same as executing the
- VERIFY ON command, but is only active during the COPY. /V does not
- read back the file and compare its contents with what was written;
- it only verifies that the data written to disk is physically
- readable.
-
-
- ΓòÉΓòÉΓòÉ 14.13. DATE - Change the system date ΓòÉΓòÉΓòÉ
-
- Purpose: Display and optionally change the system date.
-
- Format: DATE [mm -dd -yy ]
-
- mm : The month (1 - 12).
- dd : The day (1 - 31).
- yy : The year (80 - 99 = 1980 - 1999, or a 4- digit year).
-
- See also: TIME.
-
- Usage
-
- If you simply type DATE without any parameters, you will see the current
- system date and time, and be prompted for a new date. Press ENTER if you don't
- wish to change the date. If you type a new date, it will become the current
- system date, which is included in the directory entry for each file as it is
- created or altered:
-
- [c:\] date
- Thu Dec 22, 1994 9:30:06
- Enter new date (mm-dd-yy):
-
- You can also enter a new system date by typing the DATE command plus the new
- date on the command line:
-
- [c:\] date 3-16-95
-
- You can use hyphens, slashes, or periods to separate the month, day, and year
- entries. A full 4-digit year can be entered if you wish.
-
- DATE adjusts the format it expects depending on your country settings. When
- entering the date, use the correct format for the country setting currently in
- effect on your system.
-
-
- ΓòÉΓòÉΓòÉ 14.14. DEL - Delete one or more files ΓòÉΓòÉΓòÉ
-
- Purpose: Erase one file, a group of files, or entire subdirectories.
-
- Format: DEL [/A:[[-]rhsda] /F /N /P /Q /S /T /X /Y /Z] file...
- or
- ERASE [/A:[[-]rhsda] /F /N /P /Q /S /T /X /Y /Z] file...
-
- file : The file, subdirectory, or list of files or subdirectories
- to erase.
-
- /A:(ttribute select) /S(ubdirectories)
- /F(orce delete) /T(otal)
- /N(othing) /X (remove empty subdirectories)
- /P(rompt) /Y(es to all prompts)
- /Q(uiet) /Z(ap hidden and read-only files)
-
- File Selection
-
- Supports extended wildcards, ranges, multiple file names, and include lists.
-
- Usage
-
- DEL and ERASE are synonyms, you can use either one.
-
- Use the DEL and ERASE commands with caution; the files and subdirectories that
- you erase may be impossible to recover without specialized utilities and a lot
- of work.
-
- To erase a single file, simply enter the file name:
-
- [c:\] del letters.txt
-
- You can also erase multiple files in a single command. For example, to erase
- all the files in the current directory with a .BAK or .PRN extension:
-
- [c:\] del *.bak *.prn
-
- If you enter a subdirectory name, or a filename composed only of wildcards (*
- and/or ?), DEL asks for confirmation (Y or N) unless you specified the /Y
- option. If you respond with a Y, DEL will delete all the files in that
- subdirectory (hidden, system, and read-only files are only deleted if you use
- the /Z option).
-
- DEL displays the amount of disk space recovered, unless the /Q option is used
- (see below). It does so by comparing the amount of free disk space before and
- after the DEL command is executed. This amount may be incorrect if you are
- using a deletion tracking system which stores deleted files in a hidden
- directory, or if, under a multitasking system, another program performs a file
- operation while the DEL command is executing.
-
- Remember that DEL removes file descriptions along with files. Most deletion
- tracking systems will not be able to save or recover a file's description,
- even if they can save or recover the data in a file.
-
- DEL returns a non-zero exit code if no files are deleted, or if another error
- occurs. You can test this exit code with the %_? environment variable, and
- use it with conditional commands)(&& and ||).
-
- Options
-
- /A: (Attribute select) Select only those files that have the specified
- attribute(s) set. Preceding the attribute character with a hyphen
- [-] will select files that do not have that attribute set. The
- attributes are:
-
- R Read-only
- H Hidden
- S System
- D Subdirectory
- A Archive
-
- If no attributes are listed at all (e.g., DEL /A: ...), DEL will
- select all files and subdirectories including hidden and system
- files. If attributes are combined, all the specified attributes
- must match for a file to be selected. For example, /A:RHS will
- select only those files with all three attributes set.
-
- /F: (Force delete) This option is only available in the 32-bit version
- of 4OS2. It forces deletion of the file without saving it to the
- DELDIR directory (if DELDIR is not in use, /F has no effect).
-
- /N: (Nothing) Do everything except actually delete the file(s). This
- is useful for testing what the result of a DEL would be.
-
- /P: (Prompt) Prompt the user to confirm each erasure. Your options at
- the prompt are explained in detail under Page and File Prompts.
-
- /Q: (Quiet) Don't display filenames as they are deleted, or the number
- of files deleted or bytes freed. See also /T.
-
- /S: (Subdirectories) Delete the specified files in this directory and
- all of its subdirectories. This is like a GLOBAL DEL, and can be
- used to delete all the files in a subdirectory tree or even a whole
- disk. It should be used with caution!
-
- /T: (Total) Don't display filenames as they are deleted, but display
- the total number of files deleted plus the amount of free disk
- space recovered. Unlike /Q, the /T option will not speed up
- deletions under DOS.
-
- /X: (Remove empty subdirectories) Remove empty subdirectories after
- deleting (only useful when used with /S).
-
- /Y: (Yes) The reverse of /P -- it assumes a Y response to everything,
- including deleting an entire subdirectory tree. 4OS2 normally
- prompts before deleting files when the name consists only of
- wildcards or a subdirectory name (see above); /Y overrides this
- protection, and should be used with extreme caution!
-
- /Z: (Zap) Delete read-only, hidden, and system files as well as normal
- files. Files with the read-only, hidden, or system attribute set
- are normally protected from deletion; /Z overrides this protection,
- and should be used with caution. Because EXCEPT works by hiding
- files, /Z will override an EXCEPT command.
-
- For example, to delete the entire subdirectory tree starting with
- C:\UTIL, including hidden and read- only files, without prompting
- (use this command with CAUTION!):
-
- [c:\] del /sxyz c:\util\
-
-
- ΓòÉΓòÉΓòÉ 14.15. DELAY - Pause for a specified length of time ΓòÉΓòÉΓòÉ
-
- Purpose: Pause for a specified length of time.
-
- Format: DELAY [seconds ]
-
- seconds : The number of seconds to delay.
-
- Usage
-
- DELAY is useful in batch file loops while waiting for something to occur. To
- wait for 10 seconds:
-
- delay 10
-
- A simple loop could make a tone with the BEEP command to get the operator's
- attention and then DELAY for a few seconds while waiting for the user to
- respond.
-
- For delays shorter than one second, use the BEEP command with an inaudible
- frequency (below 20 Hz).
-
- You can cancel a delay by pressing Ctrl-C or Ctrl-Break.
-
-
- ΓòÉΓòÉΓòÉ 14.16. DESCRIBE - Create or modify file descriptions ΓòÉΓòÉΓòÉ
-
- Purpose: Create, modify, or delete file and subdirectory descriptions.
-
- Format: DESCRIBE [/A:[[-]rhsda]] file ["description" ] ...
-
- /A:(ttribute select)
-
- file : The file or files to operate on.
- "description" : The description to attach to the file.
-
- File Selection
-
- Supports extended wildcards, ranges, multiple file names, and include lists.
-
- Usage
-
- DESCRIBE adds descriptions to files and subdirectories. The descriptions are
- displayed by DIR in single-column mode and by SELECT. Descriptions let you
- identify your files in much more meaningful ways than you can in an
- eight-character filename.
-
- You enter a description on the command line by typing the DESCRIBE command,
- the filename, and the description in quotation marks, like this:
-
- [c:\] describe memo.txt "Memo to Bob about party"
-
- If you don't put a description on the command line, DESCRIBE will prompt you
- for it:
-
- [c:\] describe memo.txt
- Describe "memo.txt" : Memo to Bob about party
-
- If you use wildcards or multiple filenames with the DESCRIBE command and don't
- include the description text, you will be prompted to enter a description for
- each file. If you do include the description on the command line, all
- matching files will be given the same description.
-
- Each description can be up to 40 characters long. You can change this limit
- with the DescriptionMax directive in 4OS2.INI. DESCRIBE can edit descriptions
- longer than DescriptionMax (up to a limit of 511 characters), but will not
- allow you to lengthen the existing text.
-
- The descriptions are stored in each directory in a hidden file called
- DESCRIPT.ION. Use the ATTRIB command to remove the hidden attribute from this
- file if you need to copy or delete it. DESCRIPT.ION is always created as a
- hidden file, but will not be re-hidden by 4OS2 if you remove the hidden
- attribute. You can change the description file name with the DescriptionName
- directive in 4OS2.INI, and retrieve it with the _DName internal variable.
-
- The description file is modified appropriately whenever you perform an
- internal command which affects it (such as COPY, MOVE, DEL, or RENAME), but
- not if you use an external program (such as XCOPY or a visual shell).
-
- On HPFS drives, you will not see file descriptions in a normal DIR display,
- because DIR must leave space for the long filenames used on these drives. To
- view the descriptions, use DIR /Z to display the directory in FAT format. See
- the DIR command for more details.
-
- Options
-
- /A: (Attribute select) Select only those files that have the specified
- attribute(s) set. Preceding the attribute character with a hyphen
- [-] will select files that do not have that attribute set. The
- attributes are:
-
- R Read-only
- H Hidden
- S System
- D Subdirectory
- A Archive
-
- If no attributes are listed at all (e.g., DESCRIBE /A: ...),
- DESCRIBE will select all files and subdirectories including hidden
- and system files. If attributes are combined, all the specified
- attributes must match for a file to be selected. For example,
- /A:RHS will select only those files with all three attributes set.
-
-
- ΓòÉΓòÉΓòÉ 14.17. DETACH - Start a program in detached mode ΓòÉΓòÉΓòÉ
-
- Purpose: Start an OS/2 program in detached mode.
-
- Format: DETACH command
-
- command : The name of a command to execute, including an optional
- drive and path specification.
-
- See also: START.
-
- Usage
-
- When you start a program with DETACH, that program cannot use the keyboard,
- mouse, or video display. It is "detached" from the normal means of user input
- and output. However, you can redirect the program's standard I/O to other
- devices if necessary, using redirection symbols.
-
- The command can be an internal command, external command, alias, or batch
- file. If it is not an external command, 4OS2 will detach a copy of itself to
- execute the command.
-
- For example, the following command will detach a copy of 4OS2 to run the batch
- file XYZ.BTM :
-
- [c:\] detach xyz.btm
-
- Once the program has started, 4OS2 returns to the prompt immediately. It does
- not wait for a detached program to finish.
-
-
- ΓòÉΓòÉΓòÉ 14.18. DIR - Display directories ΓòÉΓòÉΓòÉ
-
- Purpose: Display information about files and subdirectories.
-
- Format: DIR [/1 /2 /4 /A[[:][-]rhsda] /B /D /E /F /H /I"text" /J /K /L /M
- /N /O[[:][-]adeginrsu] /P /R /S /T[:acw] /U /V /W /Z] [file...]
-
- file : The file, directory, or list of files or directories to
- display.
-
- /1 (one column) /L(ower case)
- /2 (two columns) /M (suppress footer)
- /4 (four columns) /N(ew format)
- /A(ttribute select) /O(rder)
- /B(are) /P(ause)
- /D(isable color coding) /R (disable wRap)
- /E (use upper case) /S(ubdirectories)
- /F(ull path) /T (aTtribute) or (Time)
- /H(ide dots) /U (sUmmary information)
- /I (match descriptions) /V(ertical sort)
- /J(ustify names) /W(ide)
- /K (suppress header) /Z (use FAT format)
-
- See also: ATTRIB, DESCRIBE, SELECT, and SETDOS.
-
- File Selection
-
- Supports extended wildcards, ranges, multiple file names, and include lists.
-
- Usage
-
- DIR can be used to display information about files from one or more of your
- disk directories, in a wide range of formats. Depending on the options
- chosen, you can display the file name, attributes, and size; the time and date
- of the last change to the file; the file description; and the file's
- compression ratio. You can also display information in 1, 2, 4, or 5 columns,
- sort the files several different ways, use color to distinguish file types,
- and pause after each full screen.
-
- The various DIR displays are controlled through options or switches. The best
- way to learn how to use the many options available with the DIR command is to
- experiment. You will soon know which options you want to use regularly. You
- can select those options permanently by using the ALIAS command.
-
- You may want to mix several options. For example, to display all the files in
- the current directory, in 2 columns, sorted vertically (down one column then
- down the next), and with a pause at the end of each page:
-
- [c:\] dir /2/p/v
-
- To set up this format as the default, using an alias:
-
- [c:\] alias dir=*dir /2/p/v
-
- This example displays all the files on all directories of drive C, including
- hidden and system files, pausing after each page:
-
- [c:\] dir /s/a/p c:\
-
- DIR allows wildcard characters (* and ?) in the filename. If you don't
- specify a filename, DIR defaults to *.* (display all non- hidden files and
- subdirectories in the current directory). To display all of the .WKS files in
- the current directory:
-
- [c:\] dir *.wks
-
- With the /I option, DIR can select files to display based on their
- descriptions. DIR will display a file if its description matches the text
- after the /I switch. The search is not case sensitive. You can use wildcards
- and extended wildcards as part of the text. For example, to display any file
- described as a " Test File" you can use this command:
-
- [c:\] dir /i"test file"
-
- If you want to display files that include the words "test file" anywhere in
- their descriptions, use extended wild cards like this:
-
- [c:\] dir /i"*test file*"
-
- If you link two or more filenames together with spaces, DIR will display all
- of the files that match the first name and then all of the files that match
- the second name. You may use a different drive and path for each filename.
- This example lists all of the .WKS and then all of the .WK1 files in the
- current directory:
-
- [c:\] dir *.wks *.wk1
-
- If you use an include list to link multiple filenames, DIR will display the
- matching filenames in a single listing. Only the first filename in an include
- list can have a path; the other files must be in the same path. This example
- displays the same files as the previous example, but the .WKS and .WK1 files
- are intermixed:
-
- [c:\] dir *.wks;*.wk1
-
- You can display the file and subdirectory names in color by setting the
- COLORDIR environment variable or using the ColorDir directive in your .INI
- file. See Color-Coded Directories for details.
-
- If you are using color-coded directories and attempt to redirect the output of
- DIR to a character device, such as a serial port or the printer,
- non-color-coded file names will be displayed on the device but color-coded
- names may still be displayed on the screen. This will not occur if the output
- of DIR is redirected to a disk file. To prevent this problem, use the /D
- switch to disable color coding when redirecting the output of DIR to a
- character device.
-
- By default, 4OS2 will display filenames in lower case on FAT drives, and in
- the case in which the filenames are stored on HPFS drives (HPFS drives support
- upper-case, lower-case, and mixed-case filenames). You can override these
- defaults and force filenames to display in upper case with /E, or in lower
- case with /L.
-
- On HPFS drives, DIR will format the display in HPFS format, with file names on
- the right (to leave space for long names). In this format file descriptions
- are not displayed. To display file descriptions on HPFS drives, use the /Z
- switch to force the display into the standard FAT format.
-
- When displaying file descriptions, DIR will wrap long lines to fit on the
- screen. DIR displays a maximum of 40 characters of text in each line of a
- description, unless your screen width allows a wider display. If you disable
- description wrapping with the /R switch, the description is truncated at the
- right edge of the screen, and a right arrow is added at the end of the line to
- alert you to the existence of additional description text.
-
- If you attempt to redirect the output of DIR to a character device, such as a
- serial port or the printer, long descriptions will be wrapped at the screen
- width in the redirected output. If this is not what you want, use /R to
- disable wrapping.
-
- When sorting file names and extensions, 4OS2 normally assumes that sequences
- of digits should be sorted numerically (for example, the file DRAW2 would come
- before DRAW03 because 2 is numerically smaller than 03), rather than strictly
- alphabetically (where DRAW2 would come second because "2" is after "0" in
- alphanumeric order). You can defeat this behavior and force a strict
- alphabetic sort with the /O:a option.
-
- If you have selected a specific country code for your system, DIR will display
- the date in the format for that country. The default date format is U.S.
- (mm-dd-yy). The separator character in the file time will also be affected by
- the country code.
-
- DIR can handle directories of any size, limited only by available memory.
- Memory requirements for DIR are generally not a concern under 4OS2, because of
- the virtual memory available under these operating systems.
-
- Options on the command line apply only to the filenames which follow the
- option, and options at the end of the line apply to the preceding filename
- only. This allows you to specify different options for different groups of
- files, yet retains compatibility with the traditional DIR command when a
- single filename is specified.
-
- Options
-
- /1: Single column display -- display the filename, size, date, time,
- and description. This is the default. If /T is used the attributes
- are displayed instead of the description; if /C or /O:c is used the
- compression ratio is displayed instead of the description.
-
- /2: Two column display -- display the filename, size, date, and time.
- If you use /2 (or /4) on an HPFS drive, DIR will only display the
- file names. Also, the number of columns may be reduced to one for
- names too long to fit on half the screen. Due to these
- restrictions, /2 is normally most useful on HPFS drives when used
- with /Z to force the display to FAT format.
-
- /4: Four column display -- display the filename and size, in K
- (kilobytes) or M (megabytes). The note under /2 above regarding
- HPFS drives applies to /4 as well.
-
- /A: (Attribute select) Display only those files that have the
- specified attribute(s) set. Preceding the attribute character with
- a hyphen [-] will display files that do not have that attribute
- set. The attributes are:
-
- R Read-only
- H Hidden
- S System
- D Subdirectory
- A Archive
-
- If no attributes are listed at all (e.g., DIR /A ...), DIR will
- display all files and subdirectories including hidden and system
- files. If attributes are combined, all the specified attributes
- must match for a file to be included in the listing. For example,
- /A:RHS will display only those files with all three attributes set.
-
- /B: (Bare) Suppress the header and summary lines, and display file or
- subdirectory names only, in a single column. This option is most
- useful when you want to redirect a list of names to a file or
- another program. If you use /B with /S, DIR will show the full
- path of each file instead of simply its name and extension.
-
- /D: (Disable color coding) Temporarily disable directory color coding.
- May be required when color-coded directories are used and DIR
- output is redirected to a character device like the printer (e.g.,
- PRN or LPT1) or serial port (e.g., COM1 or COM2). /D is not
- required when DIR output is redirected to a file.
-
- /E: Display filenames in the traditional upper case; also see SETDOS /U
- and the UpperCase directive in 4OS2.INI.
-
- /F: (Full path) Display each filename with its drive letter and path
- in a single column, without other information.
-
- /H: (Hide dots) Suppress the display of the "." and ".." directories.
-
- /I: Display filenames by matching text in their descriptions. The text
- can include wild cards and extended wildcards. The search text
- must be enclosed in quotation marks. /I may be used to select
- files even if descriptions are not displayed (for example, if /2 is
- used). However, /I will be ignored if /C or /O:c is used.
-
- /J: (Justify names) Justify (align) filename extensions and display
- them in the traditional format.
-
- /K: Suppress the header (disk and directory name) display.
-
- /L: (Lower case) Display file and directory names in lower case; also
- see SETDOS /U and the UpperCase directive in 4OS2.INI.
-
- /M: Suppress the footer (file and byte count totals) display.
-
- /N: Use the HPFS display format, even if the files are stored on a FAT
- file system volume.
-
- /O: (Order) Set the sorting order. You may use any combination of the
- following sorting options; if multiple options are used, the
- listing will be sorted with the first sort option as the primary
- key, the next as the secondary key, and so on:
-
- - Reverse the sort order for the next option
- a Sort in ASCII order, not numerically, when there are digits in
- the name
- d Sort by date and time (oldest first); for HPFS drives also see
- /T
- e Sort by extension
- g Group subdirectories first, then files
- i Sort by file description (ignored if /C or /O:c is used)
- n Sort by filename (this is the default)
- r Reverse the sort order for all options
- s Sort by size
- u Unsorted
-
- /P: (Pause) Wait for a key to be pressed after each screen page before
- continuing the display. Your options at the prompt are explained
- in detail under Page and File Prompts.
-
- /R (disable wRap) Forces long descriptions to be displayed on a
- single line, rather than wrapped onto two or more lines. Use /R
- when output is redirected to a character device, such as a serial
- port or the printer; or when you want descriptions truncated,
- rather than wrapped, in the on-screen display.
-
- /S: (Subdirectories) Display file information from the current
- directory and all of its subdirectories. DIR will only display
- headers and summaries for those directories which contain files
- that match the filename(s) and attributes (if /A is used) that you
- specify on the command line.
-
- /T (aTtribute display) Display the filenames and attributes. /T is
- ignored if /C or /O:c is also used. The attributes are displayed
- in the format RHSA, with the following meanings:
-
- R Read-only
- H Hidden
- S System
- A Archive
- If you wish to add another option after /T, you must start the next
- option with a forward slash. If you don't, 4OS2 will interpret the
- /T as the time display switch and the following character as a
- valid or invalid time selector For example:
-
- [c:\] dir /tz incorrect, will display error
- [c:\] dir /t/z correct
-
-
- /T:acw (Time display) Specify which of the date and time fields on an
- HPFS drive should be displayed and used for sorting:
-
- a Last access time
- c Creation time
- w Last write time (default)
-
- /U (sUmmary information) Only display the number of files, the total
- file size, and the total amount of disk space used.
-
- /V: (Vertical sort) Display the filenames sorted vertically rather
- than horizontally (use with the /2, /4 or /W options).
-
- /W: (Wide) Display filenames only, horizontally across the screen (5
- columns on an 80-character wide display).
-
- /Z: Display an HPFS directory in FAT format. Long names will be
- truncated to 12 characters. If the name is longer than 12
- characters, it will be followed by a right arrow to show that one
- or more characters have been truncated.
-
-
- ΓòÉΓòÉΓòÉ 14.19. DIRS - Display the directory stack ΓòÉΓòÉΓòÉ
-
- Purpose: Display the current directory stack.
-
- Format: DIRS
-
- See also: PUSHD and POPD.
-
- Usage
-
- The PUSHD command adds the current default drive and directory to the
- directory stack, a list that 4OS2 maintains in memory. The POPD command
- removes the top entry of the directory stack and makes that drive and
- directory the new default. The DIRS command displays the contents of the
- directory stack, with the most recent entries on top (i.e., the next POPD will
- retrieve the first entry that DIRS displays).
-
- The directory stack holds 255 characters, enough for 10 to 20 typical drive
- and directory entries.
-
-
- ΓòÉΓòÉΓòÉ 14.20. DO - Create loops in batch files ΓòÉΓòÉΓòÉ
-
- Purpose: Create loops in batch files.
-
- Format: DO [n | FOREVER]
- or
- DO varname = start TO end [BY n ]
- or
- DO [WHILE | UNTIL] condition
- ...
- [ITERATE]
- [LEAVE]
- ...
- ENDDO
-
- n, start, end : An integer between 0 and 2,147,483,647 inclusive,
- or an internal variable or variable function that evaluates to
- such a value.
- varname : The environment variable that will hold the loop
- counter.
- condition : A test to determine if the loop should be executed.
-
- Usage
-
- DO can only be used in batch files.
-
- DO can be used to create 3 different kinds of loops. The first, introduced by
- DO n, is a counted loop. The batch file lines between DO and ENDDO are
- repeated n times. You can also specify "forever" for n if you wish to create
- an endless loop. For example:
-
- do 5
- beep
- enddo
-
- The second type of loop is similar to a "for loop" in programming languages
- like BASIC. DO creates an environment variable, varname, and sets it equal to
- the value start (if varname already exists in the environment, it will be
- overwritten). DO then begins the loop process by comparing the value of
- varname with the value of end. If varname is less than or equal to end, DO
- executes the batch file lines up to the ENDDO. Next, DO adds 1 to the value
- of varname, or adds the value n if BY n is specified, and repeats the compare
- and execute process until varname is greater than end. This example displays
- the even numbers from 2 through 20:
-
- do i = 2 to 20 by 2
- echo %i
- enddo
-
- DO can also count down, rather than up. If n is negative, varname will
- decrease by n with each loop, and the loop will stop when varname is less than
- end. For example, to display the even numbers from 2 through 20 in reverse
- order, replace the first line of the example above with:
-
- do i = 20 to 2 by -2
-
- The third type of loop is called a "while loop" or "until loop." DO evaluates
- the condition, which can be any of the tests supported by the IF command, and
- executes the lines between DO and ENDDO as long as the condition is true. The
- loop ends when the condition becomes false.
-
- WHILE tests the condition at the start of the loop; UNTIL tests it at the end.
- If you use WHILE, the loop may never be executed (if the condition is false at
- the start of the loop); if you use UNTIL, the loop will always be executed at
- least once.
-
- Two special commands, ITERATE and LEAVE, can only be used inside a DO / ENDDO
- loop. ITERATE ignores the remaining lines inside the loop and returns to the
- beginning of loop for another iteration (unless DO determines that the loop is
- finished). LEAVE exits from the current DO loop and continues with the line
- following ENDDO. Both ITERATE and LEAVE are most often used in an IF or IFF
- command:
-
- do while "%var" != "%val1"
- ...
- if "%var" == "%val2" leave
- enddo
-
- You can nest DO loops up to 15 levels deep.
-
- You can exit from all DO / ENDDO loops by using GOTO to a line past the last
- ENDDO. However, be sure to read the cautionary notes about GOTO and DO under
- the GOTO command before using a GOTO inside any DO loop.
-
-
- ΓòÉΓòÉΓòÉ 14.21. DPATH - Set the data search path ΓòÉΓòÉΓòÉ
-
- Purpose: Specify the subdirectories which applications will search to find
- files that are not in the current directory.
-
- Format: DPATH [directory [;directory... ]]
-
- directory : The full name of a directory to include in the DPATH
- (data path) setting.
-
- See also: PATH, SET, and ESET.
-
- Usage
-
- When most OS/2 applications try to open a data file, they look for the file in
- the current directory first. If they fail to find the file there, they search
- each of the directories in the DPATH setting in the order that they are
- included. Internal commands like TYPE do not search the DPATH directories for
- files.
-
- For example, the following DPATH command directs applications to look for
- files in this order: the current directory, the INIT directory on C, and the
- CONFIG directory on D:
-
- [c:\] dpath c:\init;d:\config
-
- The listing of directories to be searched can be set or viewed with DPATH.
- The list is stored as an environment string with the variable name DPATH, and
- can also be set or viewed with the SET command and edited with the ESET
- command.
-
- Directory names in the DPATH must be separated with semicolons [;]. 4OS2 will
- not shift directory names in the DPATH to upper case as it does with those in
- the PATH setting. If you want the names in the DPATH to be in upper case you
- must enter them that way.
-
- If you enter DPATH with no parameters, 4OS2 displays the current DPATH search
- list.
-
-
- ΓòÉΓòÉΓòÉ 14.22. DRAWBOX - Draw a box ΓòÉΓòÉΓòÉ
-
- Purpose: Draw a box on the screen.
-
- Format: DRAWBOX ulrow ulcol lrrow lrcol style [BRIght] [BLInk] fg ON
- [BRIght] bg [FILl [BRIght] bgfill ] [ZOOm] [SHAdow]
-
- ulrow : Row for upper left corner
- ulcol : Column for upper left corner
- lrrow : Row for lower right corner
- lrcol : Column for lower right corner
- style : Box drawing style:
- 0 No lines (box is drawn with blanks)
- 1 Single line
- 2 Double line
- 3 Single line on top and bottom, double on sides
- 4 Double line on top and bottom, single on sides
- fg : Foreground character color
- bg : Background character color
- bgfill : Background fill color (for the inside of the box)
-
- See also: DRAWHLINE and DRAWVLINE.
-
- Usage
-
- DRAWBOX is useful for creating attractive screen displays in batch files.
-
- For example, to draw a box around the entire screen with bright white lines on
- a blue background:
-
- drawbox 0 0 24 79 1 bri whi on blu fill blu
-
- See Colors and Color Names for details about colors and notes on the use of
- bright background colors.
-
- If you use ZOOM, the box appears to grow in steps to its final size. The
- speed of the zoom operation depends on the speed of your video system.
-
- If you use SHADOW, a drop shadow is created by changing the characters in the
- row under the box and the 2 columns to the right of the box to normal
- intensity text with a black background (this will make characters displayed in
- black disappear entirely).
-
- The row and column values are zero-based, so on a standard 25 line by 80
- column display, valid rows are 0 - 24 and valid columns are 0 - 79.
-
- DRAWBOX checks for valid row and column values, and displays a "Usage" error
- message if any values are out of range.
-
- Unlike DRAWHLINE and DRAWVLINE, DRAWBOX does not automatically connect boxes
- to existing lines on the screen with the proper connector characters. If you
- want to draw lines inside a box and have the proper connectors drawn
- automatically, draw the box first, then use DRAWHLINE and DRAWVLINE to draw
- the lines.
-
- DRAWBOX uses the standard line and box drawing characters in the U.S. English
- extended ASCII character set. If your system is configured for a different
- country or language, the box may not appear on your screen as you expect.
-
-
- ΓòÉΓòÉΓòÉ 14.23. DRAWHLINE - Draw a horizontal line ΓòÉΓòÉΓòÉ
-
- Purpose: Draw a horizontal line on the screen.
-
- Format: DRAWHLINE row column len style [BRIght] [BLInk] fg ON [BRIght] bg
-
- row : Starting row
- column : Starting column
- len : Length of line
- style : Line drawing style:
- 1 Single line
- 2 Double line
- fg : Foreground character color
- bg : Background character color
-
- See also: DRAWBOX and DRAWVLINE.
-
- Usage
-
- DRAWHLINE is useful for creating attractive screen displays in batch files.
- It detects other lines and boxes on the display, and creates the appropriate
- connector characters when possible (not all types of lines can be connected
- with the available characters).
-
- For example, the following command draws a double line along the top row of
- the display with green characters on a blue background:
-
- drawhline 0 0 80 2 green on blue
-
- The row and column values are zero-based, so on a standard 25 line by 80
- column display, valid rows are 0 - 24 and valid columns are 0 - 79. DRAWHLINE
- checks for a valid row and column, and displays a "Usage" error message if
- either value is out of range.
-
- See Colors and Color Names for details about colors and notes on the use of
- bright background colors.
-
- DRAWHLINE uses the standard line and box drawing characters in the U.S.
- English extended ASCII character set. If your system is configured for a
- different country or language, the line may not appear on your screen as you
- expect.
-
-
- ΓòÉΓòÉΓòÉ 14.24. DRAWVLINE - Draw a vertical line ΓòÉΓòÉΓòÉ
-
- Purpose: Draw a vertical line on the screen.
-
- Format: DRAWVLINE row column len style [BRIght][BLInk] fg ON [BRIght] bg
-
- row : Starting row
- column : Starting column
- len : Length of line
- style : Line drawing style:
- 1 Single line
- 2 Double line
- fg : Foreground character color
- bg : Background character color
-
- See also: DRAWBOX and DRAWHLINE.
-
- Usage
-
- DRAWVLINE is useful for creating attractive screen displays in batch files.
- It detects other lines and boxes on the display, and creates the appropriate
- connector characters when possible (not all types of lines can be connected
- with the available characters).
-
- For example, to draw a double width line along the left margin of the display
- with bright red characters on a black background:
-
- drawvline 0 0 25 2 bright red on black
-
- The row and column values are zero-based, so on a standard 25 line by 80
- column display, valid rows are 0 - 24 and valid columns are 0 - 79. DRAWVLINE
- checks for a valid row and column, and displays a "Usage" error message if
- either value is out of range.
-
- See Colors and Color Names for details about colors and notes on the use of
- bright background colors.
-
- DRAWVLINE uses the standard line and box drawing characters in the U.S.
- English extended ASCII character set. If your system is configured for a
- different country or language, the line may not appear on your screen as you
- expect.
-
-
- ΓòÉΓòÉΓòÉ 14.25. ECHO - Display a message / set echo state ΓòÉΓòÉΓòÉ
-
- Purpose: Display a message, enable or disable batch file or command-line
- echoing, or display the echo status.
-
- Format: ECHO [ON | OFF | message ]
-
- message : Text to display.
-
- See also: ECHOS, SCREEN, SCRPUT, SETDOS and TEXT.
-
- Usage
-
- 4OS2 has a separate echo capability for batch files and for the command line.
- The command-line ECHO state is independent of the batch file ECHO state;
- changing ECHO in a batch file has no effect on the display at the command
- prompt, and vice versa.
-
- To see the current echo state, use the ECHO command with no arguments. This
- displays either the batch file or command-line echo state, depending on where
- the ECHO command is performed.
-
- In a batch file, if you turn ECHO on, each line of the file is displayed
- before it is executed. If you turn ECHO off, each line is executed without
- being displayed. ECHO can also be used in a batch file to display a message
- on the screen. Regardless of the ECHO state, a batch file line that begins
- with the [@] character will not be displayed. To turn off batch file echoing,
- without displaying the ECHO command, use this line:
-
- @echo off
-
- ECHO commands in a batch file will send messages to the screen while the batch
- file executes, even if ECHO is set OFF. For example, this line will display a
- message in a batch file:
-
- echo Processing your print files...
-
- If you want to echo a blank line from within a batch file, enter:
-
- echo.
-
- You cannot use the command separator character [&], or the redirection symbols
- [| > <] in an ECHO message, unless you enclose them in quotes (see Argument
- Quoting) or precede them with the escape character.
-
- ECHO defaults to ON in batch files. The current ECHO state is inherited by
- called batch files. You can change the default setting to ECHO OFF with the
- SETDOS /V0 command or the BatchEcho directive in the .INI file.
-
- If you turn the command-line ECHO on, each command will be displayed before it
- is executed. This will let you see the command line after expansion of all
- aliases and variables. The command- line ECHO is most useful when you are
- learning how to use advanced features. This example will turn command-line
- echoing on:
-
- [c:\] echo on
-
- ECHO defaults to OFF at the command line.
-
-
- ΓòÉΓòÉΓòÉ 14.26. ECHOS - Display a message without CR/LF ΓòÉΓòÉΓòÉ
-
- Purpose: Display a message without a trailing carriage return and line
- feed.
-
- Format: ECHOS message
-
- See also: ECHO, SCREEN, SCRPUT, TEXT, and VSCRPUT.
-
- Usage
-
- ECHOS is useful for text output when you don't want to add a carriage return /
- linefeed pair at the end of the line. For example, you can use ECHOS when you
- need to redirect control sequences to your printer; this example sends the
- sequence Esc P to the printer on LPT1:
-
- [c:\] echos ^eP > lpt1:
-
- You cannot use the command separator character [&] or the redirection symbols
- [| > <] in an ECHOS message, unless you enclose them in quotes (see Argument
- Quoting) or precede them with the escape character.
-
- ECHOS does not translate or modify the message text. For example, carriage
- return characters are not translated to CR/LF pairs. ECHOS sends only the
- characters you enter (after escape character and back quote processing). The
- only character you cannot put into an ECHOS message is the NUL character
- (ASCII 0).
-
-
- ΓòÉΓòÉΓòÉ 14.27. ENDLOCAL - Restore the saved environment ΓòÉΓòÉΓòÉ
-
- Purpose: Restore the saved disk drive, directory, environment, and alias
- list.
-
- Format: ENDLOCAL
-
- See also: SETLOCAL.
-
- Usage
-
- The SETLOCAL command in a batch file saves the current disk drive, default
- directory, all environment variables, and the alias list. ENDLOCAL restores
- everything that was saved by the previous SETLOCAL command.
-
- SETLOCAL and ENDLOCAL can only be used in batch files, not in aliases or from
- the command line.
-
-
- ΓòÉΓòÉΓòÉ 14.28. ESET - Edit environment variables and aliases ΓòÉΓòÉΓòÉ
-
- Purpose: Edit environment variables and aliases.
-
- Format: ESET [/A] variable name...
-
- variable name : The name of an environment variable or alias to
- edit.
-
- /A(lias)
-
- See also: ALIAS, UNALIAS, SET, and UNSET.
-
- Usage
-
- ESET allows you to edit environment variables and aliases using line editing
- commands (see Command-Line Editing).
-
- For example, to edit the executable file search path:
-
- [c:\] eset path
- path=c:\;c:\dos;c:\util
-
- To create and then edit an alias:
-
- [c:\] alias d = dir /d/j/p
- [c:\] eset d
- d=dir /d/j/p
-
- ESET will search for environment variables first and then aliases. If you have
- an environment variable and an alias with the same name, ESET will edit the
- environment variable and ignore the alias unless you use the /A option.
-
- Environment variable and alias names are normally limited to 80 characters,
- and their contents to 1,023 characters. However, if you use special
- techniques to create a longer environment variable, ESET will edit it provided
- the variable contains no more than 2,047 characters of text.
-
- If you have enabled global aliases (see ALIAS), any changes made to an alias
- with ESET will immediately affect all other copies of 4OS2 which are using the
- same alias list.
-
- Option
-
- /A: (Alias) Edit the named alias even if an environment variable of the
- same name exists. If you have an alias and an environment variable
- with the same name, you must use this switch to be able to edit the
- alias.
-
-
- ΓòÉΓòÉΓòÉ 14.29. EXCEPT - Exclude files from a command ΓòÉΓòÉΓòÉ
-
- Purpose: Perform a command on all available files except those specified.
-
- Format: EXCEPT (file ) command
-
- file : The file or files to exclude from the command.
- command : The command to execute, including all appropriate
- arguments and switches.
-
- See also: ATTRIB.
-
- File Selection
-
- Supports extended wildcards, ranges, multiple file names, and include lists.
- Date, time, or size ranges must appear immediately after the EXCEPT keyword.
-
- Usage
-
- EXCEPT provides a means of executing a command on a group of files and/or
- subdirectories, and excluding a subgroup from the operation. The command can
- be an internal command or alias, an external command, or a batch file.
-
- You may use wildcards to specify the files to exclude from the command. The
- first example erases all the files in the current directory except those
- beginning with MEMO, and those whose extension is .WKS. The second example
- copies all the files and subdirectories on drive C to drive D except those in
- C:\MSC and C:\DOS, using the COPY command:
-
- [c:\] except (memo*.* *.wks) erase *.*
- [c:\] except (c:\msc c:\dos) copy c:\*.* d:\ /s
-
- Date, time, and size ranges can be used immediately after the word EXCEPT to
- further qualify which files should be excluded from the command. If the
- command is an internal command that supports ranges, an independent range can
- also be used in the command itself.
-
- EXCEPT prevents operations on the specified file(s) by setting the hidden
- attribute, performing the command, and then clearing the hidden attribute. If
- the command is aborted in an unusual way, you may need to use the ATTRIB
- command to remove the hidden attribute from the file(s).
-
- Caution: EXCEPT will not work with programs or commands that ignore the
- hidden attribute or which work explicitly with hidden files, including DEL /Z,
- and the /H (process hidden files) switch available in some 4OS2 file
- processing commands.
-
- You can use command grouping to execute multiple commands with a single
- EXCEPT. For example, the following command copies all files in the current
- directory whose extensions begin with .DA, except the .DAT files, to the
- D:\SAVE directory, then changes the first two characters of the extension of
- the copied files to .SA:
-
- [c:\data] except (*.dat) (copy *.da* d:\save & ren *.da* *.sa*)
-
- If you use filename completion (see Filename Completion) to enter the
- filenames inside the parentheses, type a space after the open parenthesis
- before entering a partial filename or pressing Tab. Otherwise, the
- command-line editor will treat the open parenthesis as the first character of
- the filename to be completed.
-
-
- ΓòÉΓòÉΓòÉ 14.30. EXIT - Exit 4OS2 ΓòÉΓòÉΓòÉ
-
- Purpose: Return from 4OS2.
-
- Format: EXIT [value ]
-
- value : The exit code to return (0 - 255).
-
- Usage
-
- EXIT terminates the current copy of 4OS2. Use it to return to an application
- when you have "shelled out" to work at the prompt, or to end an OS/2
- command-line session.
-
- To close the session, or to return to the application that started 4OS2, type:
-
- [c:\] exit
-
- If you specify a value, EXIT will return that value to the program that
- started 4OS2. For example:
-
- [c:\] exit 255
-
- The value is a number you can use to inform the program of some result, such
- as the success or failure of a batch file. This feature is most useful for
- systems which use batch files to automate their operation, such as bulletin
- boards, or custom application programs like databases that shell to 4OS2 to
- perform certain tasks.
-
-
- ΓòÉΓòÉΓòÉ 14.31. FFIND - Search for files ΓòÉΓòÉΓòÉ
-
- Purpose: Search for files by name or contents.
-
- Format: FFIND [/A:[[-]rhsda] /B /C /D[list] /E /K /L /M
- /O[[:][-]acdeginrsu] /P /S /[T|X]"xx" /V file...
-
- list : A list of disk drive letters (without colons).
- file : The file, directory, or list of files or directories to
- display.
-
- /A(ttribute select) /M (no footers)
- /B(are) /O(rder)
- /C(ase sensitive) /P(ause)
- /D(rive) /S(ubdirectories)
- /E (upper case display) /T"xx" (text search string)
- /K (no headers) /V(erbose)
- /L(ine numbers) /X["xx"] (hex display/search
- string)
-
- File Selection
-
- Supports extended wildcards, ranges, multiple file names, and include lists.
-
- Usage
-
- FFIND is a flexible search command that looks for files based on their names
- and their contents. Depending on the options you choose, FFIND can display
- filenames, matching text, or a combination of both in a variety of formats.
-
- If you want to search for files by name, FFIND works much like the DIR
- command. For example, to generate a list of all the .BTM files in the current
- directory, you could use the command:
-
- [c:\] ffind *.btm
-
- The output from this command is a list of full pathnames, followed by the
- number of files found.
-
- If you want to limit the output to a list of *.BTM files which contain the
- string color, you could use this command instead:
-
- [c:\] ffind /t"color" *.btm
-
- The output from this version of FFIND is a list of files that contain the
- string color along with the first line in each file that contains that string.
- By default, FFIND uses a case-insensitve search, so the command above will
- include files that contain COLOR, Color, color, or any other combination of
- upper-case and lower-case letters.
-
- You can use extended wildcards in the search string to increase the
- flexibility of FFIND's search. For example, the following command will find
- .TXT files which contain either the string June or July. It will also find
- Juny and Jule. The /C option makes the search case-sensitive:
-
- [c:\] ffind /c/t"Ju[nl][ey]" *.txt
-
- At times, you may need to search for data that cannot be represented by ASCII
- characters. You can use FFIND's /X option to represent the search string in
- hexadecimal format. With /X, the search must be represented by pairs of
- hexadecimal digits separated by spaces; a search of this type is always
- case-sensitive (41 63 65 is the hex code for "Ace"):
-
- [c:\] ffind /x"41 63 65" *.txt
-
- You can use FFIND's other options to further specify the files for which you
- are searching and to modify the way in which the output is displayed.
-
- Options
-
- /A: (Attribute select) Select only those files that have the specified
- attribute(s) set. Preceding the attribute character with a hyphen
- [-] will select files that do not have that attribute set. The
- attributes are:
-
- R Read-only
- H Hidden
- S System
- D Subdirectory
- A Archive
-
- If no attributes are listed at all (e.g., FFIND /A: ...), FFIND
- will select all files and subdirectories including hidden and
- system files. If attributes are combined, all the specified
- attributes must match for a file to be selected. For example,
- /A:RHS will select only those files with all three attributes set.
-
- /B: (Bare) Display file names only and omit the text that matches the
- search. This option is only useful in combination with /T or /X,
- which normally force FFIND to display file names and matching text.
-
- /C: (Case sensitive) Perform a case-sensitive search. This option is
- only valid with /T, which defaults to a case-insenitive search. It
- is not needed with a /X hexadecimal search, which is always
- case-sensitive.
-
- /D: (Drive) Search all files on one or more drives. If you use /D
- without a list of drives, FFIND will search the drives specified in
- the list of files. If no drive letters are listed, FFIND will
- search the default drive. You can include a list of drives or a
- range of drives to search as part of the /D option. For example,
- to search drives C:, D:, E:, and G:, you can use either of these
- commands:
-
- [c:\] ffind /dcdeg ...
- [c:\] ffind /dc-eg ...
-
- /E: Display filenames in the traditional upper case; also see SETDOS /U
- and the UpperCase directive in 4OS2.INI.
-
- /K: (No headers) Suppress the display of the header or filename for
- each matching text line.
-
- /L: (Line numbers) Include the line number for each text line
- displayed.
-
- /M: (No footers) Suppress the footer (the number of files and number of
- matches) at the end of FFIND's display.
-
- /O: (Order) Set the sorting order. You may use any combination of the
- following sorting options; if multiple options are used, the
- listing will be sorted with the first sort option as the primary
- key, the next as the secondary key, and so on:
-
- - Reverse the sort order for the next option
-
- a Sort in ASCII order, not numerically, when there are digits in
- the name
-
- d Sort by date and time (oldest first); for HPFS drives also see
- /T
-
- e Sort by extension
-
- g Group subdirectories first, then files
-
- i Sort by file description (ignored if /C or /O:c is used)
-
- n Sort by filename (this is the default)
-
- r Reverse the sort order for all options
-
- s Sort by size
-
- u Unsorted
-
- /P: (Pause) Wait for a key to be pressed after each screen page before
- continuing the display. Your options at the prompt are explained
- in detail under Page and File Prompts.
-
- /S: (Subdirectories) Display matches from the current directory and all
- of its subdirectories.
-
- /T: (Text search) Specify the text search string. /T must be followed
- by a text string in double quotes (e.g., /t"color"). FFIND will
- perform a case-insensitive search unless you also use the /C
- option. For a hexadecimal search and/or hexadecimal display of the
- location where the search string is found, see /X. You can
- specify a search string with either /T or /X, but not both.
-
- /V: (Verbose) Show every matching line. FFIND's default behavior is to
- show only the first matching line then and then go on to the next
- file. This option is only valid with /T or /X.
-
- /X: (Hexadecimal display / search) Specify hexadecimal display and an
- optional hexadecimal search string.
-
- If /X is followed by one or more pairs of hexadecimal digits in
- quotes (e.g., / x"44 63 65"), FFIND will search for that exact
- sequence of characters or data bytes without regard to the meaning
- of those bytes as text. If those bytes are found, the offset is
- displayed (also in hexadecimal). A search of this type will always
- be case-sensitive.
-
- If /X is not followed by a hexadecimal search string it must be
- used in conjunction with /T, and will change the output format to
- display hexadecimal offsets rather than actual text lines when the
- search string is found. For example, this command uses /T to
- display the first line in each BTM file containing the word hello:
-
- [c:\] ffind /t"hello" *.btm
- ---- c:\test.btm:
- echo hello
-
- 1 line in 1 file
-
- If you use the same command with /X, the hexadecimal offset is
- displayed instead of the text:
-
- [c:\] ffind /t"hello" /x *.btm
- ---- c:\test.btm:
- Offset: 1A
-
- 1 line in 1 file
-
- You can specify a search string with either /T or /X, but not both.
-
-
- ΓòÉΓòÉΓòÉ 14.32. FOR - Repeat a command ΓòÉΓòÉΓòÉ
-
- Purpose: Repeat a command for several values of a variable.
-
- Format: FOR [/A:[[-]rhsda] /H] %var IN ([@]set ) [DO] command ...
-
- %var : The variable to be used in the command ("FOR variable").
- set : A set of values for the variable.
- command : A command or group of commands to be executed for each
- value of the variable.
-
- /A(ttribute select) /H(ide dots)
-
- File Selection
-
- Supports extended wildcards, ranges, multiple file names, and include lists.
- Date, time, or size ranges must appear immediately after the FOR keyword.
-
- Usage
-
- FOR begins by creating a set. It then executes a command for every member of
- the set. The command can be an internal command, an alias, an external
- command, or a batch file.
-
- Normally, the set is a list of files specified with wildcards. For example,
- if you use this line in a batch file:
-
- for %x in (*.txt) do list %x
-
- then LIST will be executed once for each file in the current directory with
- the extension .TXT. The FOR variable %x is set equal to each of the file
- names in turn, then the LIST command is executed for each file. (You could do
- the same thing more easily with a simple LIST *.TXT. We used FOR here so you
- could get a feel for how it operates, using a simple example.)
-
- The set can include multiple files or an include list, like this:
-
- for %x in (d:\*.txt;*.doc;*.asc) do type %x
-
- If the set includes filenames, the file list can be further refined by using
- date, time, and size ranges. The range must be placed immediately after the
- word FOR. The range will be ignored if no wildcards are used inside the
- parentheses. For example, this set is made up of all of the *.TXT files that
- were created or updated on October 4, 1994:
-
- for /[d10-4-94,+0] %x in (*.txt) do ...
-
- If the command is an internal command that supports ranges, an independent
- range can also be used in the command itself.
-
- The set can also be made up of text instead of file names. For example, to
- display the free space on drives C:, D:, and E:, you could use:
-
- for %drive in (c d e) do free %drive:
-
- When the set is made up of text or several separate file names (not an include
- list), the elements must be separated by spaces, tabs, commas, or the switch
- character (normally a slash [/]).
-
- You can also set the FOR variable equal to each line in a file by placing an
- [@] in front of the file name. If you have a file called DRIVES.TXT that
- contains a list of drives on your computer, one drive name per line (with a
- ":" after each drive letter), you can print the free space on each drive this
- way:
-
- for %d in (@drives.txt) do free %d > prn
-
- Because the [@] is also a valid filename character, FOR first checks to see if
- the file exists with the [@] in its name (i.e., a file named @DRIVES.TXT ).
- If so, the filename is treated as a normal argument. If it doesn't exist, FOR
- uses the filename (without the [@]) as the file from which to retrieve text.
-
- You can use FOR to process the output of a command by using a Redirection and
- Piping. To do so, use @CON as the file name. For example, this command
- creates a list of the names of all .MSG files in date/time order, then calls
- the MSGPROC batch file for each file:
-
- dir /b /od *.msg | for %fn in (@con) do call msgproc %fn
-
- You can use either % or %% in front of the variable name. Either form will
- work, whether the FOR command is typed from the command line or is part of an
- alias or batch file (some of the traditional command processors require a
- single % if FOR is used at the command line, but use %% if it is used in a
- batch file). The variable name can be up to 80 characters long. The word DO
- is optional.
-
- If you use a single-character FOR variable name, that name is given priority
- over any environment variable which starts with the same letter, in order to
- maintain compatibility with the traditional FOR command. For example, the
- following command tries to add a: and b: to the end of the PATH, but will not
- work as intended:
-
- [c:\] for %p in (a: b:) do path %path;%p
-
- The "%p" in "%path" will be interpreted as the FOR variable %p followed by the
- text "ath", which is not what was intended. To get around this, use a
- different letter or a longer name for the FOR variable, or use square brackets
- around the variable name (see Environment).
-
- The following example uses FOR with variable functions to delete the .BAK
- files for which a corresponding .TXT file exists in the current directory:
-
- [c:\docs] for %file in (*.txt) do del %@name[%file].bak
-
- You can use command grouping to execute multiple commands for each element in
- the list. For example, the following command copies each .WKQ file in the
- current directory to the D:\WKSAVE directory, then changes the extension of
- each file in the current directory to .SAV. This should be entered on one
- line:
-
- [c:\text] for %file in (*.wkq) do (copy %file d:\wksave\ &
- ren %file *.sav)
-
- In a batch file you can use GOSUB to execute a subroutine for every element in
- the set. Within the subroutine, the FOR variable can be used just like any
- environment variable. This is a convenient way to execute a complex sequence
- of commands for every element in the set without CALLing another batch file.
-
- One unusual use of FOR is to execute a collection of batch files or other
- commands with the same parameter. For example, you might want to have three
- batch files all operate on the same data file. The FOR command could look like
- this:
-
- [c:\] for %cmd in (filetest fileform fileprnt) do %cmd datafile
-
- This line will expand to three separate commands:
-
- filetest datafile
- fileform datafile
- fileprnt datafile
-
- The variable that FOR uses (the %CMD in the example above) is created in the
- environment and then erased when the FOR command is done. However, for
- compatibility with CMD.EXE, single-character FOR variables do not overwrite
- existing environment variables with the same name. As a result, when using a
- multi-character variable name you must be careful not to use the name of one
- of your environment variables as a FOR variable. For example, a command that
- begins
-
- [c:\] for %path in ...
-
- will write over your current path setting and then erase the path variable
- completely.
-
- FOR statements can be nested.
-
- Options
-
- /A: (Attribute select) Process only those files that have the specified
- attribute(s). /A will be used only when processing wildcard file
- names in the set. It will be ignored for filenames without
- wildcards or other items in the set. Preceding the attribute
- character with a hyphen [-] will process files that do not have
- that attribute set. The attributes are:
-
- R Read-only
- H Hidden
- S System
- D Subdirectory
- A Archive
-
- If no attributes are listed (e.g., FOR /A: ...), FOR will process
- all files including hidden and system files. If attributes are
- combined, all the specified attributes must match for a file to be
- included. For example, /A:RHS will include only those files with
- all three attributes set.
-
- For example, to process only those files with the archive attribute
- set:
-
- for /a:a %f in (*.*) echo %f needs a backup!
-
- /H: (Hide dots) Suppress the assignment of the "." and ".." directories
- to "var".
-
-
- ΓòÉΓòÉΓòÉ 14.33. FREE - Display total and free disk space ΓòÉΓòÉΓòÉ
-
- Purpose: Display the total disk space, total bytes used, and total bytes
- free on the specified (or default) drive(s).
-
- Format: FREE [drive: ... ]
-
- drive : One or more drives to include in the report.
-
- See also: MEMORY.
-
- Usage
-
- FREE provides the same disk information as the external command CHKDSK, but
- without the wait, since it does not check the integrity of the file and
- directory structure of the disk.
-
- A colon [:] is required after each drive letter. This example displays the
- status of drives A and C:
-
- [c:\] free a: c:
-
-
- ΓòÉΓòÉΓòÉ 14.34. GLOBAL - Execute a command all subdirectories ΓòÉΓòÉΓòÉ
-
- Purpose: Execute a command in the current directory and its subdirectories.
-
- Format: GLOBAL [/H /I /P /Q] command
-
- command : The command to execute, including arguments and
- switches.
-
- /H(idden directories) /P(rompt)
- /I(gnore exit codes) /Q(uiet)
-
- Usage
-
- GLOBAL performs the command first in the current directory and then in every
- subdirectory under the current directory. The command can be an internal
- command, an alias, an external command, or a batch file.
-
- This example copies the files in every directory on drive A to the directory
- C:\TEMP :
-
- [a:\] global copy *.* c:\temp
-
- If you use the /P option, GLOBAL will prompt for each subdirectory before
- performing the command. You can use this option if you want to perform the
- command in most, but not all subdirectories of the current directory.
-
- You can use command grouping to execute multiple commands in each
- subdirectory. For example, the following command copies each .TXT file in the
- current directory and all of its subdirectories to drive A. It then changes
- the extension of each of the copied files to .SAV :
-
- [c:\] global (copy *.txt a: & ren *.txt *.sav)
-
- Options
-
- /H: (Hidden directories) Forces GLOBAL to look for hidden directories.
- If you don't use this switch, hidden directories are ignored.
-
- /I: (Ignore exit codes) If this option is not specified, GLOBAL will
- terminate if the command returns a non- zero exit code. Use /I if
- you want command to continue in additional subdirectories even if
- it returns an error in a previous subdirectory. Even if you use
- /I, GLOBAL will halt execution in response to Ctrl-C or Ctrl-Break.
-
- /P: (Prompt) Forces GLOBAL to prompt with each directory name before it
- performs the command. Your options at the prompt are explained in
- detail under Page and File Prompts.
-
- /Q: (Quiet) Do not display the directory names as each directory is
- processed.
-
-
- ΓòÉΓòÉΓòÉ 14.35. GOSUB - Execute a subroutine in a batch file ΓòÉΓòÉΓòÉ
-
- Purpose: Execute a subroutine in the current batch file.
-
- Format: GOSUB label
-
- label : The batch file label at the beginning of the subroutine.
-
- See also: CALL, GOTO and RETURN.
-
- Usage
-
- GOSUB can only be used in batch files.
-
- 4OS2 allows subroutines in batch files. A subroutine must start with a label
- (a colon [:] followed by a one-word label name) which appears on a line by
- itself. Case differences are ignored when matching labels. The subroutine
- must end with a RETURN statement.
-
- The subroutine is invoked with a GOSUB command from another part of the batch
- file. After the RETURN, processing will continue with the command following
- the GOSUB command. For example, the following batch file fragment calls a
- subroutine which displays the directory and returns:
-
- echo Calling a subroutine
- gosub subr1
- echo Returned from the subroutine
- quit
- :subr1
- dir /a/w
- return
-
- If the label doesn't exist, the batch file is terminated with the error
- message "Label not found."
-
- GOSUB saves the IFF state, so IFF statements inside a subroutine won't
- interfere with IFF statements in the part of the batch file from which the
- subroutine was called.
-
- Subroutines can be nested.
-
-
- ΓòÉΓòÉΓòÉ 14.36. GOTO - Branch within a batch file ΓòÉΓòÉΓòÉ
-
- Purpose: Branch to a specified line inside the current batch file.
-
- Format: GOTO [/I] label
-
- label : The batch file label to branch to.
-
- /I(FF and DO continue)
-
- See also: GOSUB.
-
- Usage
-
- GOTO can only be used in batch files.
-
- After a GOTO command in a batch file, the next line to be executed will be the
- one immediately after the label. The label must begin with a colon [:] and
- appear on a line by itself. The colon is required on the line where the label
- is defined, but is not required in the GOTO command itself. Case differences
- are ignored when matching labels.
-
- This batch file fragment checks for the existence of the file CONFIG.SYS. If
- the file exists, the batch file jumps to C_EXISTS and copies all the files
- from the current directory to the root directory on A:. Otherwise, it prints
- an error message and exits.
-
- if exist config.sys goto C_EXISTS
- echo CONFIG.SYS doesn't exist - exiting.
- quit
- :C_EXISTS
- copy *.* a:\
-
- If the label doesn't exist, the batch file is terminated with the error
- message "Label not found."
-
- To avoid errors in the processing of nested statements and loops, GOTO cancels
- all active IFF statements and DO / ENDDO loops unless you use /I. This means
- that a normal GOTO (without /I) may not branch to any label that is between an
- IFF and the corresponding ENDIFF or between a DO and the corresponding ENDDO.
-
- Options
-
- /I: (IFF and DO continue) Prevents GOTO from canceling IFF statements
- and DO loops. Use this option only if you are absolutely certain
- that your GOTO command is branching entirely within any current IFF
- statement and any active DO / ENDDO block. Using /I under any
- other conditions will cause an error later in your batch file.
-
- You cannot branch into another IFF statement, another DO loop, or a
- different IFF or DO nesting level, whether you use the /I option or
- not. If you do, you will eventually receive an "unknown command"
- error (or execution of the UNKNOWN_CMD alias) on a subsequent
- ENDDO, ELSE, ELSEIFF, or ENDIFF statement.
-
-
- ΓòÉΓòÉΓòÉ 14.37. HELP - Display help ΓòÉΓòÉΓòÉ
-
- Purpose: Display help for internal commands, and optionally for external
- commands.
-
- Format: HELP [topic ]
-
- topic : A help topic, internal command, or external command.
-
- Usage
-
- Online help is available for 4OS2. The 4OS2 help system uses the OS/2 help
- facility.
-
- If you type the command HELP by itself (or press F1 when the command line is
- empty), the table of contents is displayed. If you type HELP plus a topic
- name, that topic is displayed. For example,
-
- help copy
-
- displays information about the COPY command and its options.
-
-
- ΓòÉΓòÉΓòÉ 14.38. HISTORY - Manage the history list ΓòÉΓòÉΓòÉ
-
- Purpose: Display, add to, clear, or read the history list.
-
- Format: HISTORY [/A command /F /P /R filename ]
-
- /A(dd) /P(ause)
- /F(ree) /R(ead)
-
- See also: LOG.
-
- Usage
-
- 4OS2 keeps a list of the commands you have entered on the command line. See
- Command History and Recall for additional details.
-
- The HISTORY command lets you view and manipulate the command history list
- directly. If no parameters are entered, HISTORY will display the current
- command history list:
-
- [c:\] history
-
- With the options explained below, you can clear the list, add new commands to
- the list without executing them, save the list in a file, or read a new list
- from a file.
-
- The number of commands saved in the history list depends on the length of each
- command line. The history list size can be specified at startup from 256 to
- 8192 characters (see the History directive). The default size is 1024
- characters.
-
- Your history list can be stored either locally (a separate history list for
- each copy of 4OS2) or globally (all copies of 4OS2 share the same list). For
- full details see the discussion of local and global history lists under
- Command History and Recall.
-
- You can use the HISTORY command as an aid in writing batch files by
- redirecting the HISTORY output to a file and then editing the file
- appropriately. However, it is easier to use the LOG /H command for this
- purpose.
-
- You can disable the history list or specify a minimum command-line length to
- save with the HistMin directive in the .INI file.
-
- Options
-
- /A: (Add) Add a command to the history list. This performs the same
- function as the Ctrl-K key at the command line (see Command History
- and Recall).
-
- /F: (Free) Erase all entries in the command history list.
-
- /P: (Prompt) Wait for a key after displaying each page of the list.
- Your options at the prompt are explained in detail under Page and
- File Prompts.
-
- /R: (Read) Read the command history from the specified file and append
- it to the history list currently held in memory. Each line in the
- file must fit within the command-line length limit).
-
- You can save the history list by redirecting the output of HISTORY
- to a file. This example saves the command history to a file called
- HISTFILE and reads it back again immediately. If you leave out the
- HISTORY /F command on the second line, the contents of the file
- will be appended to the current history list instead of replacing
- it:
-
- [c:\] history > histfile
- [c:\] history /f
- [c:\] history /r histfile
-
- If you need to save your history at the end of each day's work, you
- might use commands like this in your AUTOEXEC.BAT or other startup
- file:
-
- if exist c:\histfile history /r c:\histfile
- alias shut*down `history > c:\histfile`
-
- This restores the previous history list if it exists, then defines
- an alias which will save the history before shutting off the
- system.
-
- If you are creating a HISTORY /R file by hand, and need to create
- an entry that spans multiple lines in the file, you can do so by
- terminating each line, except the last, with an escape character.
- However, you cannot use this method to exceed the command-line
- length limit.
-
-
- ΓòÉΓòÉΓòÉ 14.39. IF - Execute a command if a condition is true ΓòÉΓòÉΓòÉ
-
- Purpose: Execute a command if a condition or set of conditions is true.
-
- Format: IF [NOT] condition [.AND. | .OR. | .XOR. [NOT] condition ...]
- command
-
- condition : A test to determine if the command should be
- executed.
- command : The command to execute if the condition is true.
-
- See also: IFF, @IF.
-
- Usage
-
- IF is normally used only in aliases and batch files. It is always followed by
- one or more conditions and then a command. First, the conditions are
- evaluated. If they are true, the command is executed. Otherwise, the command
- is ignored. If you add a NOT before a condition, the command is executed only
- when the condition is false.
-
- You can link conditions with .AND., .OR., or .XOR., and you can nest IF
- statements. The conditions can test strings, numbers, the existence of a file
- or subdirectory, the exit code returned by the preceding external command, and
- the existence of alias names and internal commands.
-
- The command can be an alias, an internal command, an external command, or a
- batch file. The entire IF statement, including all conditions and the
- command, must fit on one line.
-
- You can use command grouping to execute multiple commands if the condition is
- true. For example, the following command tests if any .TXT files exist. If
- they do, they are copied to drive A: and their extensions are changed to .TXO
- :
-
- if exist *.txt (copy *.txt a: & ren *.txt *.txo)
-
- (Note that the IFF command provides a more structured method of executing
- multiple commands if a condition or set of conditions is true.)
-
- Conditions
-
- The following conditional tests are available in both the IF and IFF commands.
- They fit into two categories: string and numeric tests, and status tests.
- The tests can use environment variables, internal variables and variable
- functions, file names, literal text, and numeric values as their arguments.
-
- Spaces are required on either side of the test condition in all cases, except
- == which will work with or without spaces around it.
-
- String and Numeric Tests
-
- Six test conditions can be used to test character strings. The same
- conditions are available for both numeric and normal text strings (see below
- for details). In each case you enter the test as:
-
- string1 operator string2
-
- The operator defines the type of test (equal, greater than or equal, and so
- on). The operators are:
-
- EQ or == string1 equal to string2
- NE or != string1 not equal to string2
- LT string1 less than string2
- LE string1 less than or equal to string2
- GE string1 greater than or equal to string2
- GT string1 greater than string2
-
- Status Tests
-
- These conditions test the system or command processor status. You can use
- internal variables and variable functions to test many other parts of the
- system status.
-
- ERRORLEVEL [operator] n
- This test retrieves the exit code of the preceding external program.
- By convention, programs return an exit code of 0 when they are
- successful and a number between 1 and 255 to indicate an error. The
- condition can be any of the operators listed above (EQ, !=, GT, etc.).
- If no operator is specified, the default is GE. The comparison is done
- numerically.
-
- Not all programs return an explicit exit code. For programs which do
- not, the behavior of ERRORLEVEL is undefined.
-
- EXIST filename
- If the file exists, the condition is true. You can use wildcards in
- the filename, in which case the condition is true if any file matching
- the wildcard name exists.
-
- ISALIAS aliasname
- If the name is defined as an alias, the condition is true.
-
- ISDIR path
- If the subdirectory exists, the condition is true.
-
- ISINTERNAL command
- If the specified command is an active internal command, the condition
- is true. Commands can be activated and deactivated with the SETDOS /I
- command.
-
- Combining Tests
-
- You can negate the result of any test with NOT, and combine tests of any type
- with .AND., .OR., and .XOR. Test conditions are always scanned from left to
- right -- there is no implied order of precedence, as there is in some
- programming languages.
-
- When two tests are combined with .AND., the result is true if both individual
- tests are true. When two tests are combined with .OR., the result is true if
- either (or both) individual tests are true. When two tests are combined with
- .XOR., the result is true only if one of the tests is true and the other is
- false.
-
- This example runs a program called HIGHRES if either an EGA or VGA video
- adapter is in use:
-
- if "%_video" == "EGA" .or. "%_video" == "VGA" highres
-
- Using the IF Tests
-
- When IF compares two character strings, it will use either a numeric
- comparison or a string comparison. A numeric comparison treats the strings as
- numeric values and tests them arithmetically. A string comparison treats the
- strings as text.
-
- The difference between numeric and string comparisons is best explained by
- looking at the way two values are tested. For example, consider comparing the
- values 2 and 19. Numerically, 2 is smaller, but as a string it is "larger"
- because its first digit is larger than the first digit of 19. So the first of
- these condition s will be true, and the second will be false:
-
- if 2 lt 19 ...
- if "2" lt "19" ...
-
- IF determines which kind of test to do by examining the first character of
- each string. If both strings begin with a numeric character (a digit, sign,
- or decimal point), a numeric comparison is used. If either value does not
- begin with a numeric character, a string comparison is used. To force a
- string comparison when both values are or may be numeric, use double quotes
- around the values you are testing, as shown above. Because the double quote
- is not a numeric character, it forces IF to do a string comparison.
-
- Case differences are ignored in string comparisons. If two strings begin with
- the same text but one is shorter, the shorter string is considered to be "less
- than" the longer one. For example, "a" is less than "abc", and "hello_there"
- is greater than "hello".
-
- When you compare text strings, you should always enclose the arguments in
- double quotes in order to avoid syntax errors which may occur if one of the
- argument values is empty.
-
- Numeric comparisons work with both integer and decimal values. The values to
- be compared must contain only numeric digits, decimal points, and an optional
- sign (+ or -). The number to the left of the decimal point may not exceed
- 2,147,483,648 (the maximum possible 32-bit positive integer). The number of
- digits to the right of the decimal point is limited only by the length of the
- command line.
-
- Internal variables and variable functions are very powerful when combined with
- string and numeric comparisons. They allow you to test the state of your
- system, the characteristics of a file, date and time information, or the
- result of a calculation. You may want to review the variables and variable
- functions when determining the best way to set up an IF test.
-
- This first example is a batch file fragment which runs a program called
- MONOPROG if a monochrome monitor is attached to the system:
-
- if "%_monitor" == "mono" monoprog
-
- The second batch file fragment tests for a string value:
-
- input "Enter your selection : " %%cmd
- if "%cmd" == "WP" goto wordproc
- if "%cmd" NE "GRAPHICS" goto badentry
-
- This example calls GO.BTM if the first two characters in the file MYFILE are
- "GO" (enter this example on one line):
-
- if "%@instr[0,2,%@line[myfile,0]]"=="GO"
- call go.btm
-
- This batch file fragment tests for the existence of A:\JAN.DOC before copying
- it to drive C.
-
- if exist a:\jan.doc copy a:\jan.doc c:\
-
- This example tests the exit code of the previous program and stops all batch
- file processing if an error occurred:
-
- if errorlevel==0 goto success
- echo "External Error -- Batch File Ends!"
- cancel
-
-
- ΓòÉΓòÉΓòÉ 14.40. IFF - IF / THEN / ELSE conditional command execution ΓòÉΓòÉΓòÉ
-
- Purpose: Perform IF / THEN / ELSE conditional execution of commands.
-
- Format: IFF [NOT] condition [.AND. | .OR. | .XOR. [NOT] condition ...]
- THEN & commands
- [ELSEIFF condition THEN & commands ] ...
- [ELSE & commands ]
- & ENDIFF
-
- condition : A test to determine if the command(s) should be
- executed.
- commands : One or more commands to execute if the condition(s) is
- true. If you use multiple commands, they must be separated by
- command separators or be placed on separate lines of a batch file.
-
- See also: IF.
-
- Usage
-
- IFF is similar to the IF command, except that it can perform one set of
- commands when a condition or set of conditions is true and different commands
- when the conditions are false.
-
- IFF can execute multiple commands when the conditions are true or false; IF
- normally executes only one command. IFF imposes no limit on the number of
- commands and is generally a "cleaner" and more structured command than IF.
-
- IFF is always followed by one or more conditions. If they are true, the
- commands that follow the word THEN are executed. Additional conditions can be
- tested with ELSEIFF. If none of these conditions are true, the commands that
- follow the word ELSE are executed. In both cases, after the selected commands
- are executed, processing continues after the word ENDIFF.
-
- If you add a NOT before the condition, the THEN commands are executed only
- when the condition is false and the ELSE commands are executed only when the
- condition is true.
-
- The commands may be separated by command separators, or may be on separate
- lines of a batch file. You should include a command separator or a line break
- after a THEN, before an ELSEIFF, and before and after an ELSE.
-
- You can link conditions with .AND., .OR., or .XOR., and you can nest IFF
- statements up to 15 levels deep. The conditions can test strings or numbers,
- the existence of a file or subdirectory, the errorlevel returned from the
- preceding external command, and the existence of alias names and internal
- commands.
-
- See the IF command for a list of the possible conditions.
-
- The commands can include any internal command, alias, external command, or
- batch file.
-
- The following batch file fragment tests the monitor type (monochrome or
- color), and sets the appropriate colors and prompt (enter the "prompt" lines
- on one line of the batch file):
-
- iff "%_monitor" == "color" then
- color bright white on blue & cls
- prompt=$e[s$e[1;1f$e[41;1;37m$e[K Path: $p$e[u$e[44;37m$n$g
- else
- prompt=$e[s$e[1;1f$e[0;7m$e[K Path: $p$e[u$e[0m$n$g
- endiff
-
- The alias in this second example checks to see if the argument is a
- subdirectory. If so, the alias deletes the subdirectory's files and removes
- it (enter this on one line):
-
- [c:\] alias prune `iff isdir %1 then & del /sxz %1
- & else & echo Not a directory! & endiff`
-
- Be sure to read the cautionary notes about GOTO and IFF under the GOTO command
- before using a GOTO inside an IFF statement.
-
-
- ΓòÉΓòÉΓòÉ 14.41. INKEY - Get a character from the keyboard ΓòÉΓòÉΓòÉ
-
- Purpose: Get a single keystroke from the user and store it in an
- environment variable.
-
- Format: INKEY [/C /D /K"keys" /P /Wn /X] [prompt ] %%varname
-
- prompt : Optional text that is displayed as a prompt.
- varname : The variable that will hold the user's keystroke.
-
- /C(lear buffer) /P(assword)
- /D(igits only) /W(ait)
- /K(valid keystrokes) /X (no carriage return)
-
- See also: INPUT.
-
- Usage
-
- INKEY optionally displays a prompt. Then it waits for a specified time or
- indefinitely for a keystroke, and places the keystroke into an environment
- variable. It is normally used in batch files and aliases to get a menu choice
- or other single-key input. Along with the INPUT command, INKEY allows great
- flexibility in reading input from within a batch file or alias.
-
- If prompt text is included in an INKEY command, it is displayed while INKEY
- waits for input.
-
- The following batch file fragment prompts for a character and stores it in the
- variable NUM :
-
- inkey Enter a number from 1 to 9: %%num
-
- INKEY reads standard input for the keystroke, so it will accept keystrokes
- from a redirected file. You can supply a list of valid keystrokes with the /K
- option.
-
- Standard keystrokes with ASCII values between 1 and 255 are stored directly in
- the environment variable. Extended keystrokes (for example, function keys and
- cursor keys) are stored as a string in decimal format, with a leading @ (for
- example, the F1 key is @59). The Enter key is stored as an extended
- keystroke, with the code @28. See see the Reference Tables for a list of the
- ASCII and extended key codes.
-
- If you press Ctrl-C or Ctrl-Break while INKEY is waiting for a key, execution
- of an alias will be terminated, and execution of a batch file will be
- suspended while you are asked whether to cancel the batch jobIn a batch file
- you can handle Ctrl-C and Ctrl-Break yourself with the ON BREAK command.
-
- Options
-
- /C: (Clear buffer) Clears the keyboard buffer before INKEY accepts
- keystrokes. If you use this option, INKEY will ignore any
- keystrokes which you type, either accidentally or intentionally,
- before INKEY is ready to accept input.
-
- /D: (Digits only) Prevents INKEY from accepting any keystroke except a
- digit from 0 to 9.
-
- /K["keys"]:Specify the permissible keystrokes. The list of valid
- keystrokes should be enclosed in double quotes. For alphabetic
- keys the validity test is not case sensitive. You can specify
- extended keys by enclosing their names in square brackets (within
- the quotes), for example:
-
- inkey /k"ab[Alt-F10]" Enter A, B, Alt-F10 %%var
-
- See Keys and Key Names for a complete listing of the key names you
- can use within the square brackets, and a description of the key
- name format.
-
- If an invalid keystroke is entered, 4OS2 will echo the keystroke if
- possible, beep, move the cursor back one character, and wait for
- another keystroke.
-
- /P: (Password) Prevents INKEY from echoing the character.
-
- /W: (Wait) Timeout period, in seconds, to wait for a response. If no
- keystroke is entered by the end of the timeout period, INKEY
- returns with the variable unchanged. You can specify /W0 to return
- immediately if there are no keys waiting in the keyboard buffer.
-
- /X: (No carriage return) Prevents INKEY from displaying a carriage
- return and line feed after the user's entry.
-
- For example, the following batch file fragment waits up to 10
- seconds for a character, then tests to see if a "Y" was entered:
-
- set net=N
- inkey /K"YN" /w10 Load network (Y/N)? %%net
- iff "%net" == "Y" then
- rem Commands to load the network go here
- endiff
-
-
- ΓòÉΓòÉΓòÉ 14.42. INPUT - Get a string from the keyboard ΓòÉΓòÉΓòÉ
-
- Purpose: Get a string from the keyboard and save it in an environment
- variable.
-
- Format: INPUT [/C /D /E /Ln /N /P /Wn /X] [prompt ] %%varname
-
- prompt : Optional text that is displayed as a prompt.
- varname : The variable that will hold the user's input.
-
- /C(lear buffer) /N(o colors)
- /D(igits only) /P(assword)
- /E(dit) /W(ait)
- /L(ength) /X (no carriage return)
-
- See also: INKEY.
-
- Usage
-
- INPUT optionally displays a prompt. Then it waits for a specified time or
- indefinitely for your entry. It places any characters you type into an
- environment variable. INPUT is normally used in batch files and aliases to
- get multi-key input. Along with the INKEY command, INPUT allows great
- flexibility in reading user input from within a batch file or alias.
-
- If prompt text is included in an INPUT command, it is displayed while INPUT
- waits for input. Standard command-line editing keys may be used to edit the
- input string as it is entered. If you use the /P password option, INPUT will
- echo asterisks instead of the keys you type.
-
- All characters entered up to, but not including, the carriage return are
- stored in the variable.
-
- The following batch file fragment prompts for a string and stores it in the
- variable FNAME:
-
- input Enter the file name: %%fname
-
- INPUT reads standard input, so it will accept text from a re- directed file.
-
- If you press Ctrl-C or Ctrl-Break while INPUT is waiting for input, execution
- of an alias will be terminated, and execution of a batch file will be
- suspended while you are asked whether to cancel the batch job. In a batch
- file you can handle Ctrl-C and Ctrl-Break yourself with the ON BREAK command.
-
- Options
-
- /C: (Clear buffer) Clears the keyboard buffer before INPUT accepts
- keystrokes. If you use this option, INPUT will ignore any
- keystrokes which you type, either accidentally or intentionally,
- before INPUT is ready.
-
- /D: (Digits only) Prevents INKEY from accepting any keystroke except a
- digit from 0 to 9.
-
- /E: (Edit) Allows you to edit an existing value. If there is no
- existing value for varname, INPUT proceeds as if /E had not been
- used, and allows you to enter a new value.
-
- /Ln: (Length) Sets the maximum number of characters which INPUT will
- accept to "n". If you attempt to enter more than this number of
- characters, INPUT will beep and prevent further input (you will
- still be able to edit the characters typed before the limit was
- reached).
-
- /N: (No colors) Disables the use of input colors defined in the
- InputColors directive in 4OS2.INI, and forces INPUT to use the
- default display colors.
-
- /P: (Password) Tells INPUT to echo asterisks, instead of the characters
- you type.
-
- /W: (Wait) Timeout period, in seconds, to wait for a response. If no
- keystroke is entered by the end of the timeout period, INPUT
- returns with the variable unchanged. If you enter a key before the
- timeout period, INPUT will wait indefinitely for the remainder of
- the line. You can specify /W0 to return immediately if there are
- no keys waiting in the keyboard buffer.
-
- /X: (No carriage return) Prevents INPUT from displaying a carriage
- return and line feed after the user's entry.
-
-
- ΓòÉΓòÉΓòÉ 14.43. KEYBD - Set the keyboard toggles ΓòÉΓòÉΓòÉ
-
- Purpose: Set the state of the keyboard toggles: Caps Lock, Num Lock, and
- Scroll Lock.
-
- Format: KEYBD [/Cn /Nn /Sn]
-
- n : 0 to turn off the toggle, or 1 to turn on the toggle.
-
- /C(aps lock) /S(croll lock)
- /N(um lock)
-
- Usage
-
- Most keyboards have 3 toggle keys, the Caps Lock, Num Lock, and Scroll Lock.
- The toggle key status is usually displayed by three lights at the top right
- corner of the keyboard.
-
- This command lets you turn any toggle key on or off. It is most useful in
- batch files and aliases if you want the keys set a particular way before
- collecting input from the user.
-
- For example, to turn off the Num Lock and Caps Lock keys, you can use this
- command:
-
- [c:\] keybd /c0 /n0
-
- If you use the KEYBD command with no switches, it will display the present
- state of the toggle keys.
-
- In OS/2, the toggle key state is different for each session. Changes made with
- KEYBD will affect the session in which the command is executed, but will not
- affect other sessions.
-
- Options
-
- /C: (Caps lock) Turn the Caps Lock key on or off.
-
- /N: (Num lock) Turn the Num Lock key on or off.
-
- /S: (Scroll lock) Turn the Scroll Lock key on or off.
-
-
- ΓòÉΓòÉΓòÉ 14.44. KEYS - Enable or disable the history list ΓòÉΓòÉΓòÉ
-
- Purpose: Enable, disable, or display the history list.
-
- Format: KEYS [ON | OFF | LIST]
-
- See also: HISTORY.
-
- Usage
-
- This command is provided for compatibility with KEYS command in CMD.EXE, which
- controls the history list in OS/2. The same functions are available by setting
- the HistMin directive in the .INI file, and by using the HISTORY command.
-
- The history list collects the commands you type for later recall, editing, and
- viewing. You can view the contents of the list through the history list
- window or by typing any of the following commands:
-
- [c:\] history
- [c:\] history /p
- [c:\] keys list
-
- The first command displays the entire history list. The second displays the
- entire list and pauses at the end of each full screen. The third command
- produces the same output as the first, except that each line is numbered.
-
- You can disable the collection and storage of commands in the history list by
- typing:
-
- [c:\] keys off
-
- You can turn the history back on with the command:
-
- [c:\] keys on
-
- If you issue the KEYS command without any parameters, 4OS2 will show you the
- current status of the history list.
-
- KEYS also affects the way 4OS2 reads input from the keyboard. KEYS OFF will
- force 4OS2 into line input mode; KEYS ON will return input to the usual
- character by character method. See the LineInput directive, or the /L option
- of the SETDOS command, for details on line input mode.
-
-
- ΓòÉΓòÉΓòÉ 14.45. LIST - Display a file ΓòÉΓòÉΓòÉ
-
- Purpose: Display a file, with forward and backward paging and scrolling.
-
- Format: LIST [/A:[[-]rhsda] /H /S /W /X] file...
-
- file : A file or list of files to display.
-
- /A:(ttribute select) /W(rap)
- /H(igh bit off) /X (heX display mode)
- /S(tandard input)
-
- See also: TYPE.
-
- File Selection
-
- Supports extended wildcards, ranges, multiple file names, and include lists.
-
- Usage
-
- LIST provides a much faster and more flexible way to view a file than TYPE,
- without the overhead of loading and using a text editor.
-
- LIST is most often used for displaying ASCII text files. Most other files
- contain non-alphabetic characters and may be unreadable, except in hex mode.
-
- For example, to display a file called MEMO.DOC :
-
- [c:\] list memo.doc
-
- LIST uses the cursor pad to scroll through the file. The following keys have
- special meanings:
-
- Space Display the next page of the file (same as PgDn).
- Home Display the first page of the file.
- End Display the last page of the file.
- Esc Exit the current file.
- Ctrl-C Quit LIST.
- Scroll up one line.
- Scroll down one line.
- Scroll left 8 columns.
- Scroll right 8 columns.
- Ctrl Scroll left 40 columns.
- Ctrl Scroll right 40 columns.
- F1 Display online help
- B Go back one file to the previous file in the current group
- of files.
- F Prompt and search for a string.
- G Go to a specific line, or, in hex mode, to a specific
- hexadecimal offset.
- H Toggle the "strip high bit" (/H) option.
- I Display information on the current file (the full name,
- size, date, and time).
- N Find next matching string.
- P Print the current page or the entire file.
- W Toggle the "line wrap" (/W) option.
- X Toggle the hex-mode display (/X) option.
-
- Text searches performed with F and N are not case sensitive. However, if the
- display is currently in hexadecimal mode and you press F, you will be prompted
- for whether you want to search in hexadecimal as well. If you answer Y, you
- should then enter the search string as a sequence of 2-digit hexadecimal
- numbers separated by spaces, for example 41 63 65 (these are the ASCII values
- for the string "Ace"; see ASCII for a complete list of ASCII codes).
- Hexadecimal searches are case sensitive, and search for exactly the string you
- enter.
-
- You can use wildcards in the search string. For example, you can search for
- the string "to*day" to find the next line which contains the word "to"
- followed by the word "day" later on the same line, or search for the numbers
- "101" or "401" with the search string "[14]01".
-
- LIST saves the search string used by F and N, so you can LIST multiple files
- and search for the same string simply by pressing N in each file, or repeat
- your search the next time you use LIST.
-
- LIST normally allows long lines in the file to extend past the right edge of
- the screen. You can use the horizontal scrolling keys (see above) to view
- text that extends beyond the screen width. If you use the W command or /W
- switch to wrap the display, each line is wrapped when it reaches the right
- edge of the screen, and the horizontal scrolling keys are disabled.
-
- If you print the file which LIST is displaying, the print format will match
- the display format. If you have switched to hexadecimal or wrapped mode, that
- mode will be used for the printed output as well. If you print in wrapped
- mode, long lines will be wrapped at the width of the display. If you print in
- normal display mode without line wrap, long lines will be wrapped or truncated
- by the printer, not by LIST.
-
- Printed output normally goes to device LPT1. If you wish to send the printed
- output to another device, use the Printer directive in the .INI file.
-
- Most of the LIST keystrokes can be reassigned with key mapping directives in
- the .INI file .
-
- You can set the colors used by LIST with the ListColors and ListStatBarColors
- directives in the .INI file. If ListColors is not used, the LIST display will
- use the current default colors. If ListStatBarColors is not used, the status
- bar will use the reverse of the LIST display colors.
-
- Options
-
- /A: (Attribute select) Select only those files that have the specified
- attribute(s) set. Preceding the attribute character with a hyphen
- [-] will select files that do not have that attribute set. The
- attributes are:
-
- R Read-only
- H Hidden
- S System
- D Subdirectory
- A Archive
-
- If no attributes are listed at all (e.g., LIST /A: ...), LIST will
- select all files and subdirectories including hidden and system
- files. If attributes are combined, all the specified attributes
- must match for a file to be selected. For example, /A:RHS will
- select only those files with all three attributes set.
- /H: (High bit off) Strip the high bit from each character before
- displaying. This is useful when displaying files created by some
- word processors that turn on the high bit for formatting purposes.
- You can toggle this option on and off from within LIST with the H
- key.
-
- /S: (Standard input) Read from standard input rather than a file. This
- allows you to redirect command output and view it with LIST. For
- example, to use LIST to display the output of DIR:
-
- [c:\] dir | list /s
-
- /W: (Wrap) Wrap the text at the right edge of the screen. This option
- is useful when displaying files that don't have a carriage return
- at the end of each line. The horizontal scrolling keys do not work
- when the display is wrapped. You can toggle this option on and off
- from within LIST with the W key.
-
- /X (heX mode): Display the file in hexadecimal (hex) mode. This
- option is useful when displaying executable files and other files
- that contain non-text characters. Each byte of the file is shown
- as a pair of hex characters. The corresponding text is displayed
- to the right of each line of hexadecimal data. You can toggle this
- mode on and off from within LIST with the X key.
-
-
- ΓòÉΓòÉΓòÉ 14.46. LOADBTM - Switch a batch file's mode ΓòÉΓòÉΓòÉ
-
- Purpose: Switch a batch file to or from BTM mode.
-
- Format: LOADBTM [ON | OFF]
-
- Usage
-
- 4OS2 recognizes two kinds of batch files: .BAT or .CMD, and .BTM. Batch files
- executing in BTM mode run two to five times faster than in BAT or CMD mode.
- Batch files automatically start in the mode indicated by their extension.
-
- The LOADBTM command turns BTM mode on and off. It can be used to switch modes
- in either a .BAT / .CMD or .BTM file. If you use LOADBTM with no argument, it
- will display the current batch mode: LOADBTM ON or LOADBTM OFF.
-
- LOADBTM can only be used within a batch file. It is most often used to switch
- a .BAT file into BTM mode after memory-resident programs are loaded, or to
- convert a .BAT or .CMD file to BTM mode without changing its extension.
-
- Using LOADBTM to repeatedly switch modes within a batch file is not efficient.
- In most cases the speed gained by running some parts of the file in BTM mode
- will be more than offset by the speed lost through repeated loading of the
- file each time BTM mode is invoked.
-
-
- ΓòÉΓòÉΓòÉ 14.47. LOG - Save a log of commands ΓòÉΓòÉΓòÉ
-
- Purpose: Save a log of commands to a disk file.
-
- Format: LOG [/H /W file ] [ON | OFF | text ]
-
- file : The name of the file to hold the log.
- text : An optional message that will be added to the log.
-
- /H(istory log) /W(rite to).
-
- See also: HISTORY.
-
- Usage
-
- LOG keeps a record of all internal and external commands you use. Each entry
- includes the current system date and time, along with the actual command after
- any alias or variable expansion. You can use the log file as a record of your
- daily activities.
-
- LOG with the /H option keeps a similar record, but it does not record the date
- and time for each command. In addition, it records commands before aliases
- and variables are expanded.
-
- By default, LOG writes to the file 4OS2LOG in the root directory of the boot
- drive. The default file name for LOG /H is 4OS2HLOG.
-
- Entering LOG or LOG /H with no parameters displays the name of the log file
- and the log status (ON or OFF):
-
- [c:\] log
- LOG (C:\4OS2LOG) is OFF
-
- To enable or disable logging, add the word "ON" or "OFF" after the LOG
- command:
-
- [c:\] log on
-
- or
-
- [c:\] log /h on
-
- Entering LOG or LOG /H with text writes a message to the log file, even if
- logging is set OFF. This allows you to enter headers in the log file:
-
- [c:\] log "Started work on the database system"
-
- The LOG file format looks like this:
-
- [mm-dd-yy hh:mm:ss] command
-
- The LOG /H output can be used as the basis for writing batch files. Start LOG
- /H, then execute the commands that you want the batch file to execute. When
- you are finished, turn LOG /H off. The resulting file can be turned into a
- batch file that performs the same commands with little or no editing.
-
- You can have both a regular log (with time and date stamping) and a history
- log (without the time stamps) enabled simultaneously.
-
- Options
-
- /H: (History log) This option turns on (or off) the history log, which
- saves commands without the time and date stamp. For example, to
- turn on history logging and write to the file C:\LOG\HLOG:
-
- [c:\] log /h /w c:\log\hlog
-
- /W: (Write) This switch specifies a different filename for the LOG or
- LOG /H output. It also automatically performs a LOG ON command.
- For example, to turn logging on and write the log to C:\LOG\LOGFILE
- :
-
- [c:\] log /w c:\log\logfile
-
- Once you select a new file name with the LOG /W or LOG /H/W
- command, LOG will use that file until you issue another LOG /W or
- LOG /H/W command, or until you reboot your computer. Turning LOG
- or LOG /H off or on does not change the file name. You can set the
- default log file names when 4OS2 starts with the LogName and
- HistLogName directives in the .INI file.
-
-
- ΓòÉΓòÉΓòÉ 14.48. MD - Create a subdirectory ΓòÉΓòÉΓòÉ
-
- Purpose: Create a subdirectory.
-
- Format: MD [/S] pathname...
- or
- MKDIR [/S] pathname...
-
- pathname : The name of one or more directories to create.
-
- /S(ubdirectories)
-
- See also: RD.
-
- Usage
-
- MD and MKDIR are synonyms. You can use either one.
-
- MD creates a subdirectory anywhere in the directory tree. To create a
- subdirectory from the root, start the pathname with a backslash [\]. For
- example, this command creates a subdirectory called MYDIR in the root
- directory:
-
- [c:\] md \mydir
-
- If no path is given, the new subdirectory is created in the current directory.
- This example creates a subdirectory called DIRTWO in the current directory:
-
- [c:\mydir] md dirtwo
-
- To create a directory from the parent of the current directory (that is, to
- create a sibling of the current directory), start the pathname with two
- periods and a backslash [..\].
-
- Option
-
- /S: (Subdirectories) MD creates one directory at a time unless you use
- the /S option. If you need to create the directory
- C:\ONE\TWO\THREE and none of the named directories exist, you can
- use /S to have MD create all of the necessary subdirectories for
- you in a single command:
-
- [c:\] md /s \one\two\three
-
-
- ΓòÉΓòÉΓòÉ 14.49. MEMORY - Display memory statistics ΓòÉΓòÉΓòÉ
-
- Purpose: Display the amount and status of system RAM.
-
- Format: MEMORY
-
- Usage
-
- MEMORY lists the total physical and resident RAM in your system, the largest
- free block of RAM, the total size of your swap file, the total and free
- environment and alias space, and the total history space. (The first two RAM
- size values are displayed by 4OS2/32, but not by 4OS2/16.)
-
-
- ΓòÉΓòÉΓòÉ 14.50. MOVE - Move files ΓòÉΓòÉΓòÉ
-
- Purpose: Move files to a new directory and drive.
-
- Format: MOVE [/A:[[-]rhsda] /C /D /F /H /M /N /P /Q /R /S /T /U /V]
- source... destination
-
- source : A file or list of files to move.
- destination : The new location for the files.
-
- /A:(ttribute select) /P(rompt)
- /C(hanged) /Q(uiet)
- /D(irectory) /R(eplace)
- /F(orce delete) /S(ubdirectory tree)
- /H(idden and system) /T(otal)
- /M(odified files) /U(pdate)
- /N(othing) /V(erify)
-
- See also: COPY and RENAME.
-
- File Selection
-
- Supports extended wildcards, ranges, multiple file names, and include lists.
- Date, time, or size ranges anywhere on the line apply to all source files.
-
- Usage
-
- The MOVE command moves one or more files from one directory to another,
- whether the directories are on the same drive or not. It has the same effect
- as copying the files to a new location and then deleting the originals. Like
- COPY and RENAME, MOVE works with single files, multiple files, and sets of
- files specified with an include list.
-
- The simplest MOVE command moves a single source file to a new location and,
- optionally, gives it a new name. These two examples both move one file from
- drive C: to the root directory on drive A:
-
- [c:\] move myfile.dat a:\
- [c:\] move myfile.dat a:\savefile.dat
-
- In both cases, MYFILE.DAT is removed from drive C: after it has been copied to
- drive A:. If a file called MYFILE.DAT in the first example, or SAVEFILE.DAT
- in the second example, already existed on drive A:, it would be overwritten.
- (This demonstrates the difference between MOVE and RENAME. MOVE will move
- files between drives and will overwrite the destination file if it exists;
- RENAME will not.)
-
- If you MOVE multiple files, the destination must be a directory name. MOVE
- will move each file into the destination directory with its original name (if
- the target is not a directory, MOVE will display an error message and exit):
-
- [c:\] move *.wks *.txt c:\finance\myfiles
-
- You cannot move a file to a character device like the printer, or to itself.
-
- When you move files to another directory, if you add a backslash [\] to the
- end of the destination name MOVE will display an error message if the name
- does not refer to an existing directory. You can use this feature to keep MOVE
- from treating a mistyped destination directory name as a file name, and
- attempting to move all source files to that name. The /D option performs the
- same function but will also prompt to see if you want to create the
- destination directory if it doesn't exist.
-
- Be careful when you use MOVE with the SELECT command. If you SELECT multiple
- files and the target is not a directory (for example, because of a
- misspelling), MOVE will assume it is a file name. In this case each file will
- be moved in turn to the target file, overwriting the previous file, and then
- the original will be erased before the next file is moved. At the end of the
- command, all of the original files will have been erased and only the last
- file will exist as the target file. You can avoid this problem by using
- square brackets with SELECT instead of parentheses (be sure that you don't
- allow the command line to get too long -- watch the character count in the
- upper left corner while you're selecting files). MOVE will then receive one
- list of files to move instead of a series of individual filenames, and it will
- detect the error and halt. You can also add a backslash [\] to the end of the
- destination name to ensure that it is the name of a subdirectory (see above).
-
- MOVE first attempts to rename the file(s), which is the fastest way to move
- files between subdirectories on the same drive. If that fails (the
- destination is on a different drive or already exists), MOVE will copy the
- file(s) and then delete the originals.
-
- If MOVE must physically copy the files and delete the originals, rather than
- renaming them (see above), then some disk space may be freed on the source
- drive. The free space may be the result of moving the files to another drive,
- or of overwriting a larger destination file with a smaller source file. MOVE
- displays the amount of disk space recovered unless the /Q option is used (see
- below). It does so by comparing the amount of free disk space before and
- after the MOVE command is executed. However, this amount may be incorrect if
- you are using a deletion tracking system which stores deleted files in a
- hidden directory, or if, under a multitasking system, another program performs
- a file operation while the MOVE command is executed.
-
- When physically copying files, MOVE preserves the hidden, system, and
- read-only attributes of the source files, and sets the archive attribute of
- the destination files. However, if the files can be renamed, and no copying
- is required, then the source file attributes are not changed.
-
- Options
-
- /A: (Attribute select) Select only those files that have the specified
- attribute(s) set. Preceding the attribute character with a hyphen
- [-] will select files that do not have that attribute set. The
- attributes are:
-
- R Read-only
- H Hidden
- S System
- D Subdirectory
- A Archive
-
- If no attributes are listed at all (e.g., MOVE /A: ...), MOVE will
- select all files and subdirectories including hidden and system
- files. If attributes are combined, all the specified attributes
- must match for a file to be selected. For example, /A:RHS will
- select only those files with all three attributes set.
-
- /C: (Changed files) Move files only if the destination file exists and
- is older than the source (see also /U). This option is useful for
- updating the files in one directory from those in another without
- moving any newly-created files.
-
- /D: (Directory) Requires that the destination be a directory. If the
- destination does not exist, MOVE will prompt to see if you want to
- create it. If the destination exists as a file, MOVE will fail with
- an "Access denied" error. Use this option to avoid having MOVE
- accidentally interpret your destination name as a file name when
- it's really a mistyped directory name.
-
- /F: (Force delete) This option only works in the 32-bit version of
- 4OS2. It forces deletion of the source file without saving it to
- the DELDIR directory (if DELDIR is not in use, /F has no effect).
-
- /H: (Hidden) Move all files, including hidden and system files.
-
- /M: (Modified files) Move only files that have the archive bit set. The
- archive bit will remain set after the MOVE; to clear it use ATTRIB.
-
- /N: (Nothing) Do everything except actually move the file(s). This
- option is most useful for testing what a complex MOVE command will
- do.
-
- /P: (Prompt) Prompt the user to confirm each move. Your options at the
- prompt are explained in detail under Page and File Prompts.
-
- /Q: (Quiet) Don't display filenames, the total number of files moved,
- or the amount of disk space recovered, if any. This option is most
- often used in batch files. See also /T.
-
- /R: (Replace) Prompt for a Y or N response before overwriting an
- existing destination file.
-
- /S: (Subdirectories) Move an entire subdirectory tree to another
- location. MOVE will attempt to create the destination directories
- if they don't exist, and will remove empty subdirectories after the
- move. When /D is used with /S, you will be prompted if the first
- destination directory does not exist, but subdirectories below that
- will be created automatically by MOVE. If you attempt to use /S to
- move a subdirectory tree into part of itself, MOVE will display an
- error message and halt.
-
- /T: (Total) Don't display filenames as they are moved, but display the
- total number of files deleted and the amount of free disk space
- recovered, if any.
-
- /U: (Update) Move each source file only if it is newer than a matching
- destination file or if a matching destination file does not exist
- (also see /C). This option is useful for moving new or changed
- files from one directory to another.
-
- /V: (Verify) Verify each disk write. This is the same as executing the
- VERIFY ON command, but is only active during the MOVE. /V does not
- read back the file and compare its contents with what was written;
- it only verifies that the data written to disk is physically
- readable.
-
-
- ΓòÉΓòÉΓòÉ 14.51. ON - Handle Ctrl-Break and errors in batch files ΓòÉΓòÉΓòÉ
-
- Purpose: Execute a command in a batch file when a specific condition
- occurs.
-
- Format: ON BREAK [command ]
- or
- ON ERROR [command ]
-
- Usage
-
- ON can only by used in batch files.
-
- ON sets a "watchdog" that remains in effect for the duration of the current
- batch file. Whenever a BREAK or ERROR condition occurs after ON has been
- executed, the command is automatically executed.
-
- ON BREAK will execute its command if the user presses Ctrl- C or Ctrl-Break.
-
- ON ERROR will execute its command after any command processor or operating
- system error (including critical errors). That is, ON ERROR will detect errors
- such as a disk write error, and 4OS2 errors such as a COPY command that fails
- to copy any files, or the use of an unacceptable command option.
-
- ON BREAK and ON ERROR are independent of each other. You can use either one,
- or both, in any batch file.
-
- Each time ON BREAK or ON ERROR is used, it defines a new command to be
- executed for a break or error, and any old command is discarded. If you use
- ON BREAK or ON ERROR with no following command, that type of error handling is
- disabled. Error handling is also automatically disabled when the batch file
- exits.
-
- ON BREAK and ON ERROR only affect the current batch file. If you CALL another
- batch file, the first batch file's error handling is suspended, and the CALLed
- file must define its own error handling. When control returns to the first
- batch file, its error handling is reactivated.
-
- The command can be any command that can be used on a batch file line by
- itself. Frequently, it is a GOTO or GOSUB command. For example, the
- following fragment traps any user attempt to end the batch file by pressing
- Ctrl-C or Ctrl-Break. It scolds the user for trying to end the batch file and
- then continues displaying the numbers from 1 to 1000:
-
- on break gosub gotabreak
- do i = 1 to 1000
- echo %i
- enddo
- quit
- :gotabreak
- echo Hey! Stop that!!
- return
-
- You can use a command group as the command if you want to execute multiple
- commands, for example:
-
- on break (echo Oops, got a break! & quit)
-
- ON BREAK and ON ERROR always assume that you want to continue executing the
- batch file. After the command is executed, control automatically returns to
- the next command in the batch file (the command after the one that was
- interrupted by the break or error). The only way to avoid continuing the
- batch file after a break or error is for the command to transfer control to
- another point with GOTO, end the batch file with QUIT or CANCEL, or start
- another batch file (without CALLing it).
-
- When handling an error condition with ON ERROR, you may find it useful to use
- internal variables, particularly %_? and %_SYSERR, to help determine the cause
- of the error.
-
- Caution: If a break or error occurs while the command specified in ON BREAK
- or ON ERROR is executing, the command will be restarted. This means you must
- use caution to avoid or handle any possible errors in the commands invoked by
- ON ERROR, since such errors can cause an infinite loop.
-
-
- ΓòÉΓòÉΓòÉ 14.52. PATH - Set the executable file search path ΓòÉΓòÉΓòÉ
-
- Purpose: Display or alter the list of directories that 4OS2 will search for
- executable files, batch files, and files with executable
- extensions that are not in the current directory.
-
- Format: PATH [directory [;directory...]]
-
- directory : The full name of a directory to include in the path
- setting.
-
- See also: ESET and SET.
-
- Usage
-
- When 4OS2 is asked to execute an external command (a .COM, .EXE, .BTM, .BAT,
- or .CMD file or executable extension), it first looks for the file in the
- current directory. If it fails to find an executable file there, it then
- searches each of the directories specified in the PATH setting.
-
- For example, after the following PATH command, 4OS2 will search for an
- executable file in four directories: the current directory, then the root
- directory on drive C, then the DOS subdirectory on C, and then the UTIL
- subdirectory on C:
-
- [c:\] path c:\;c:\dos;c:\util
-
- The list of directories to search can be set or viewed with the PATH command.
- The list is stored as an environment string, and can also be set or viewed
- with SET, and edited with ESET.
-
- Directory names in the path must be separated by semicolons [;]. Each
- directory name is shifted to upper case to maintain compatibility with
- programs which can only recognize upper case directory names in the path. If
- you modify your path with the SET or ESET command, you may include directory
- names in lower case. These may cause trouble with some programs, which assume
- that all path entries have been shifted to upper case.
-
- If you enter PATH with no parameters, the current path is displayed:
-
- [c:\] path
- PATH=C:\;C:\DOS;C:\UTIL
-
- Entering PATH and a semicolon clears the search path so that only the current
- directory is searched for executable files (this is the default at system
- startup).
-
- Some applications also use the PATH to search for their data files.
-
- If you include an explicit file extension on a command name (for example,
- WP.EXE ), the search will find files with that name and extension in the
- current directory and every directory in the path. It will not locate other
- executable files with the same base name.
-
- If you have an entry in the path which consists of a single period [.], the
- current directory will not be searched first, but instead will be searched
- when 4OS2 reaches the "." in the path. This allows you to delay the search of
- the current directory for executable files and files with executable
- extensions. In rare cases, this feature may not be compatible with
- applications which use the path to find their files; if you experience a
- problem, you will have to remove the "." from the path while using any such
- application.
-
- To create a path longer than the command-line length limit, use PATH
- repeatedly to append additional directories to the path:
-
- path [first list of directories]
- path %path;[second list of directories]
- ...
-
- You cannot use this method to extend the path beyond 2042 characters (the
- internal buffer limit, with room for "PATH "). It is usually more efficient
- to use aliases to load application programs than to create a long PATH. See
- ALIAS for details.
-
- If you specify an invalid directory in the path, it will be skipped and the
- search will continue with the next directory in the path.
-
-
- ΓòÉΓòÉΓòÉ 14.53. PAUSE - Suspend batch file or alias execution ΓòÉΓòÉΓòÉ
-
- Purpose: Suspend batch file or alias execution.
-
- Format: PAUSE [text ]
-
- text : The message to be displayed as a user prompt.
-
- Usage
-
- A PAUSE command will suspend execution of a batch file or alias, giving you
- the opportunity to change disks, turn on the printer, etc.
-
- PAUSE waits for any key to be pressed and then continues execution. You can
- specify the text that PAUSE displays while it waits for a keystroke, or let
- 4OS2 use the default message:
-
- Press any key when ready...
-
- For example, the following batch file fragment prompts the user before erasing
- files:
-
- pause Press Ctrl-C to abort, any other key to erase all .LST files
- erase *.lst
-
- If you press Ctrl-C or Ctrl-Break while PAUSE is waiting for a key, execution
- of an alias will be terminated, and execution of a batch file will be
- suspended while you are asked whether to cancel the batch job. In a batch
- file you can handle Ctrl-C and Ctrl-Break yourself with the ON BREAK command.
-
-
- ΓòÉΓòÉΓòÉ 14.54. POPD - Restore the disk drive and directory ΓòÉΓòÉΓòÉ
-
- Purpose: Return to the disk drive and directory at the top of the directory
- stack..
-
- Format: POPD [*]
-
- See also: DIRS and PUSHD.
-
- Usage
-
- Each time you use the PUSHD command, it saves the current disk drive and
- directory on the internal directory stack. POPD restores the last drive and
- directory that was saved with PUSHD and removes that entry from the stack.
- You can use these commands together to change directories, perform some work,
- and return to the starting drive and directory.
-
- Directory changes made with POPD are recorded for display in the directory
- history window.
-
- This example saves and changes the current disk drive and directory with
- PUSHD, and then restores it. The current directory is shown in the prompt:
-
- [c:\] pushd d:\database\test
- [d:\database\test] popd
- [c:\]
-
- You can use the DIRS command to see the complete list of saved drives and
- directories (the directory stack).
-
- The POPD command followed by an asterisk [*] clears the directory stack
- without changing the current drive and directory.
-
- If the directory on the top of the stack is not on the current drive, POPD
- will switch to the drive and directory on the top of the stack without
- changing the default directory on the current drive.
-
-
- ΓòÉΓòÉΓòÉ 14.55. PROMPT - Change the command-line prompt ΓòÉΓòÉΓòÉ
-
- Purpose: Change the command-line prompt.
-
- Format: PROMPT [text ]
-
- text : Text to be used as the new command-line prompt.
-
- Usage
-
- You can change and customize the command-line prompt at any time. The prompt
- can include normal text, and system information such as the current drive and
- directory, the time and date, and the amount of memory available. You can
- create an informal "Hello, Bob!" prompt or an official-looking prompt full of
- impressive information. The prompt text can contain special commands in the
- form $?, where ? is one of the characters listed below:
-
- b The vertical bar character [|].
- c The open parenthesis [(].
- d Current date, in the format: Fri 1-06-95 (the month, day, and
- year are formatted according to your current country settings).
- D Current date, in the format: Fri Jan 6, 1995.
- e The ASCII ESC character (decimal 27).
- f The close parenthesis [)].
- g The > character.
- h Backspace over the previous character.
- i Display the OS/2 prompt header line, which reminds you of how to
- return to the OS/2 desktop, or get help.
- l The < character.
- m Time in hours and minutes using 24-hour format: 16:07
- M Time in hours and minutes using the default country format and
- retaining "a" or "p", e.g. 4:07p.
- n Current drive letter.
- p Current directory on drive d: (including drive letter), in lower
- case.
- P Current directory on drive d: (including drive letter), in upper
- case.
- q The = character.
- r The numeric exit code of the last external command.
- s The space character.
- t Current 24-hour time, in the format hh:mm:ss.
- T Current 12-hour time, in the format hh:mm:ss[a|p].
- v Operating system version number, in the format 3.10.
- xd: Current directory on drive d:, in lower case (uses the actual
- case of the directory name as stored on the disk for HPFS
- drives).
- Xd: Current directory on drive d:, in upper case.
- z Current shell nesting level; the primary command processor is
- shell 0.
- $ The $ character.
- _ CR/LF (go to beginning of a new line).
-
- For example, to set the prompt to the current date and time, with a ">" at the
- end:
-
- [c:\] prompt $d $t $g
- Fri Dec 2, 1994 10:29:19 >
-
- To set the prompt to the current date and time, followed by the current drive
- and directory in upper case on the next line, with a ">" at the end:
-
- [c:\] prompt $d $t$_$P$g
- Fri Dec 2, 1994 10:29:19
- [c:\]
-
- The 4OS2 prompt can be set in CONFIG.SYS (see below), and the prompt for any
- command processor can be set in 4START, or in any batch file that runs when
- 4OS2 starts.
-
- The 4OS2 default prompt is [$n] (drive name in square brackets) on floppy
- drives, and [$p] (current drive and directory in square brackets) on all other
- drives. When OS/2 is installed, it inserts a SET PROMPT statement in
- CONFIG.SYS to set the prompt to $i[$p]. This prompt will override the 4OS2
- defaults. The $i adds a header line to the default prompt to remind you of
- certain OS/2 keystrokes. You must delete this statement if you want to use
- the default prompt.
-
- If you enter PROMPT with no arguments, the prompt will be reset to its default
- value. The PROMPT command sets the environment variable PROMPT, so to view
- the current prompt setting use the command:
-
- [c:\] set prompt
-
- (If the prompt is not set at all, the PROMPT environment variable will not be
- used, in which case the SET command above will give a "Not in environment"
- error.)
-
- Along with literal text, special characters, and ANSI sequences you can
- include the text of any environment variable, internal variable, or variable
- function in a prompt. For example, if you want to include the size of the
- largest free memory block in the command prompt, plus the current drive and
- directory, you could use this command:
-
- [c:\] prompt (%%@dosmem[K]K) $p$g
- (601K) [c:\data]
-
- Notice that the @DOSMEM function is shown with two leading percent signs [%].
- If you used only one percent sign, the @DOSMEM function would be expanded once
- when the PROMPT command was executed, instead of every time the prompt is
- displayed. As a result, the amount of memory would never change from the
- value it had when you entered the PROMPT command. You can also use back
- quotes to delay expanding the variable function until the prompt is displayed:
-
- [c:\] prompt `(%@dosmem[K]K) $p$g`
-
- You can include ANSI escape sequences in the PROMPT text. See ANSI for
- complete details on ANSI commands. This example uses ANSI sequences to set a
- prompt that displays the shell level, date, time and path in color on the top
- line of the screen (enter the command as one line):
-
- [c:\] prompt $e[s$e[1;1f$e[41;1;37m$e[K[$z] $d
- Time: $t$h$h$h Path: $p$e[u$e[0;32m$n$g
-
- You may find it helpful to define a different prompt in secondary shells,
- perhaps including $z in the prompt to display the shell level. To do so,
- place a PROMPT command in your 4START file and use IF or IFF statements to set
- the appropriate prompt for different shells.
-
-
- ΓòÉΓòÉΓòÉ 14.56. PUSHD - Save the disk drive and directory ΓòÉΓòÉΓòÉ
-
- Purpose: Save the current disk drive and directory, optionally changing to
- a new drive and directory.
-
- Format: PUSHD [pathname ]
-
- pathname : The name of the new default drive and directory.
-
- See also: DIRS, POPD and the CDPATH environment variable.
-
- Usage
-
- PUSHD saves the current drive and directory on a "last in, first out"
- directory stack. The POPD command returns to the last drive and directory
- that was saved by PUSHD. You can use these commands together to change
- directories, perform some work, and return to the starting drive and
- directory. The DIRS command displays the contents of the directory stack.
-
- To save the current drive and directory, without changing directories, use the
- PUSHD command by itself, with no pathname.
-
- If a pathname is specified as part of the PUSHD command, the current drive and
- directory are saved and PUSHD changes to the specified drive and directory.
- If the pathname includes a drive letter, PUSHD changes to the specified
- directory on the new drive without changing the current directory on the
- original drive.
-
- This example saves the current directory and changes to C:\WORDP\MEMOS, then
- returns to the original directory:
-
- [c:\] pushd \wordp\memos
- [c:\wordp\memos] popd
- [c:\]
-
- Directory changes made with PUSHD are recorded for display in the directory
- history window.
-
- The directory stack can hold up to 255 characters, or about 10 to 20 entries
- (depending on the length of the names). If you exceed this limit, the oldest
- entry is removed before adding a new entry.
-
- If PUSHD can't change directly to the specified directory, it will look for
- the CDPATH variable; see CDPATH for details.
-
-
- ΓòÉΓòÉΓòÉ 14.57. QUIT - Terminate a batch file ΓòÉΓòÉΓòÉ
-
- Purpose: Terminate the current batch file.
-
- Format: QUIT [value ]
-
- value : The exit code from 0 to 255 to return to 4OS2 or to the
- previous batch file.
-
- See also: CANCEL.
-
- Usage
-
- QUIT provides a simple way to exit a batch file before reaching the end of the
- file. If you QUIT a batch file called from another batch file, you will be
- returned to the previous file at the line following the original CALL.
-
- QUIT only ends the current batch file. To end all batch file processing, use
- the CANCEL command.
-
- If you specify a value, QUIT will set the ERRORLEVEL or exit code (see the IF
- command, and the %? variable) to that value.
-
- You can also use QUIT to terminate an alias. If you QUIT an alias while
- inside a batch file, QUIT will end both the alias and the batch file and
- return you to the command prompt or to the calling batch file.
-
-
- ΓòÉΓòÉΓòÉ 14.58. RD - Remove subdirectories ΓòÉΓòÉΓòÉ
-
- Purpose: Remove one or more subdirectories.
-
- Format: RD pathname...
- or
- RMDIR pathname...
-
- pathname : The name of a subdirectory to remove.
-
- See also: MD.
-
- File Selection
-
- Supports extended wildcards, ranges, multiple file names, and include lists.
-
- Usage
-
- RD and RMDIR are synonyms. You can use either one.
-
- RD removes directories from the directory tree. For example, to remove the
- subdirectory MEMOS from the subdirectory WP, you can use this command:
-
- [c:\] rd \wp\memos
-
- Before using RD, you must delete all files and subdirectories (and their
- files) in the pathname you want to remove. Remember to remove hidden and
- read-only files as well as normal files (you can use DEL /Z to delete hidden
- and read-only files).
-
- You can use wildcards in the pathname.
-
- You cannot remove the root directory, the current directory (.), any directory
- above the current directory in the directory tree, or any directory in use by
- another process in a multitasking system.
-
-
- ΓòÉΓòÉΓòÉ 14.59. REBOOT - Reboot the system ΓòÉΓòÉΓòÉ
-
- Purpose: Do a system reboot.
-
- Format: REBOOT [/C /S /V]
-
- /S(hutdown) /V(erify)
-
- Usage
-
- REBOOT will completely restart your computer. It normally performs a warm
- reboot, which is comparable to pressing Ctrl-Alt-Delete. A reboot is necessary
- to activate any changes to your CONFIG.SYS file.
-
- The following example prompts you to verify the reboot, then does a warm boot:
-
- [c:\] reboot /v
-
- REBOOT defaults to performing a warm boot, with no prompting.
-
- REBOOT flushes the disk buffers, resets the drives, and waits one second
- before rebooting, to allow disk caching programs to finish writing any cached
- data. 4OS2 issues the proper commands to shut down OS/2 before rebooting.
-
- REBOOT uses the DOS.SYS device driver to reboot your system. DOS.SYS is
- loaded via a DEVICE= statement in your CONFIG.SYS file. If DOS.SYS is not
- loaded, REBOOT will not work.
-
- Options
-
- /S: (Shutdown) Shut down the system, but do not reboot. This option is
- equivalent to clicking the "Shutdown" choice on the OS/2 2.x
- Workplace Shell popup menu.
-
- /V: (Verify) Prompt for confirmation (Y or N) before rebooting or
- taking the action specified by other REBOOT options.
-
-
- ΓòÉΓòÉΓòÉ 14.60. REM - Put a comment in a batch file ΓòÉΓòÉΓòÉ
-
- Purpose: Put a comment in a batch file.
-
- Format: REM [comment ]
-
- comment : The text to include in the batch file.
-
- Usage
-
- The REM command lets you place a remark or comment in a batch file. Batch file
- comments are useful for documenting the purpose of a batch file and the
- procedures you have used.
-
- REM must be followed by a space or tab character and then your comment.
- Comments can be up to 1023 characters long. 4OS2 will normally ignore
- everything on the line after the REM command, including quote characters,
- redirection symbols, and other commands (see below for the exception to this
- rule).
-
- If ECHO is ON, the comment is displayed. Otherwise, it is ignored. If ECHO is
- ON and you don't want to display the line, preface the REM command with an at
- sign [@].
-
- You can use REM to create a zero-byte file if you use a redirection symbol
- after the REM command. No text is permitted between the REM command and the
- redirection symbol. For example, to create the zero-byte file C:\FOO :
-
- [c:\] rem > foo
-
- (This capability is included for compatibility with CMD.EXE. A simpler method
- for creating a zero-byte file with 4OS2 is to enter >filename as a command,
- with no actual command before the [>] redirection character.)
-
-
- ΓòÉΓòÉΓòÉ 14.61. REN - Rename files or subdirectories ΓòÉΓòÉΓòÉ
-
- Purpose: Rename files or subdirectories.
-
- Format: REN [/A:[[-]rhsda] /N /P /Q /S /T] old_name... new_name
- or
- RENAME [/A:[[-]rhsda] /N /P /Q /S /T] old_name... new_name
-
- old_name : Original name of the file(s) or subdirectory.
- new_name : New name to use, or new path on the same drive.
-
- /A:(ttribute select) /Q(uiet)
- /N(othing) /S(ubdirectory)
- /P(rompt) /T(otal)
-
- See also: COPY and MOVE.
-
- File Selection
-
- Supports extended wildcards, ranges, multiple file names, and include lists.
-
- Usage
-
- REN and RENAME are synonyms. You may use either one.
-
- REN lets you change the name of a file or a subdirectory, or move one or more
- files to a new subdirectory on the same drive. (If you want to move files to
- a different drive, use MOVE.)
-
- In its simplest form, you simply give REN the old_name of an existing file or
- subdirectory and then a new_name. The new_name must not already exist -- you
- can't give two files the same name (unless they are in different directories).
- The first example renames the file MEMO.TXT to MEM.TXT. The second example
- changes the name of the \WORD directory to \WP :
-
- [c:\] rename memo.txt mem.txt
- [c:\] rename \word \wp
-
- You can also use REN to rename a group of files that you specify with
- wildcards, as multiple files, or in an include list. When you do, the
- new_name must use one or more wildcards to show what part of each filename to
- change. Both of the next two examples change the extensions of multiple files
- to .SAV :
-
- [c:\] ren config.sys autoexec.bat 4start.btm *.sav
- [c:\] ren *.txt *.sav
-
- REN can move files to a different subdirectory on the same drive. When it is
- used for this purpose, REN requires one or more filenames for the old_name and
- a directory name for the new_name :
-
- [c:\] ren memo.txt \wp\memos\
- [c:\] ren oct.dat nov.dat \data\save\
-
- The final backslash in the last two examples is optional. If you use it, you
- force REN to recognize the last argument as the name of a directory, not a
- file. The advantage of this approach is that if you accidentally mistype the
- directory name, REN will report an error instead of renaming your files in a
- way that you didn't intend.
-
- Finally, REN can move files to a new directory and change their name at the
- same time if you specify both a path and file name for new_name. In this
- example, the files are renamed with an extension of .SAV as they are moved to
- a new directory:
-
- [c:\] ren *.dat \data\save\*.sav
-
- When new_name refers to a file or files (rather than a directory), the file(s)
- must not already exist. Also, you cannot rename a subdirectory to a new
- location on the directory tree.
-
- REN does not change a file's attributes. The new_name file(s) will have the
- same attributes as old_name.
-
- Options
-
- /A: (Attribute select) Select only those files that have the specified
- attribute(s) set. Preceding the attribute character with a hyphen
- [-] will select files that do not have that attribute set. The
- attributes are:
-
- R Read-only
- H Hidden
- S System
- D Subdirectory
- A Archive
-
- If no attributes are listed at all (e.g., REN /A: ...), REN will
- select all files and subdirectories including hidden and system
- files. If attributes are combined, all the specified attributes
- must match for a file to be selected. For example, /A:RHS will
- select only those files with all three attributes set.
-
- /N: (Nothing) Do everything except actually rename the file(s). This
- option is useful for testing what a REN command will actually do.
-
- /P: (Prompt) Prompt the user to confirm each rename operation. Your
- options at the prompt are explained in detail under Page and File
- Prompts.
-
- /Q: (Quiet) Don't display filenames or the number of files renamed.
- This option is most often used in batch files. See also /T.
-
- /S: (Subdirectory) Normally, you can rename a subdirectory only if you
- do not use any wildcards in the new_name. This prevents
- subdirectories from being renamed inadvertently when a group of
- files is being renamed with wildcards. /S will let you rename a
- subdirectory even when you use wildcards.
-
- /T: (Total) Don't display filenames as they are renamed, but report the
- number of files renamed. See also /Q.
-
-
- ΓòÉΓòÉΓòÉ 14.62. RETURN - Return from a subroutine in a batch file ΓòÉΓòÉΓòÉ
-
- Purpose: Return from a GOSUB (subroutine) in a batch file.
-
- Format: RETURN
-
- See also: GOSUB.
-
- Usage
-
- 4OS2 allows subroutines in batch files.
-
- A subroutine begins with a label (a colon followed by a word) and ends with a
- RETURN command.
-
- The subroutine is invoked with a GOSUB command from another part of the batch
- file. When a RETURN command is encountered the subroutine terminates, and
- execution of the batch file continues on the line following the original
- GOSUB.
-
- The following batch file fragment calls a subroutine which displays the files
- in the current directory:
-
- echo Calling a subroutine
- gosub subr1
- echo Returned from the subroutine
- quit
-
- :subr1
- dir /a/w
- return
-
-
- ΓòÉΓòÉΓòÉ 14.63. SCREEN - Position the cursor and display text ΓòÉΓòÉΓòÉ
-
- Purpose: Position the cursor on the screen and optionally display a
- message.
-
- Format: SCREEN row column [text ]
-
- row : The new row location for the cursor.
- column : The new column location for the cursor.
- text : Optional text to display at the new cursor location.
-
- See also: ECHO, SCRPUT, TEXT, and VSCRPUT.
-
- Usage
-
- SCREEN allows you to create attractive screen displays in batch files. You
- use it to specify where a message will appear on the screen. You can use
- SCREEN to create menu displays, logos, etc. The following batch file fragment
- displays a menu:
-
- @echo off
- cls
- screen 3 10 Select a number from 1 to 4:
- screen 6 20 1 - Word Processing
- ...
-
- SCREEN does not change the screen colors. To display text in specific colors,
- use SCRPUT or VSCRPUT. SCREEN always leaves the cursor at the end of the
- displayed text.
-
- The row and column values are zero-based, so on a standard 25 line by 80
- column display, valid rows are 0 - 24 and valid columns are 0 - 79. You can
- also specify the row and column as offsets from the current cursor position.
- Begin the value with a plus sign [+] to move the cursor down the specified
- number of rows or to the right the specified number of columns, or with a
- minus sign [-] to move the cursor up or to the left. This example prints a
- string 3 lines above the current position, in absolute column 10:
-
- screen -3 10 Hello, World!
-
- SCREEN checks for a valid row and column, and displays a "Usage" error message
- if either value is out of range.
-
-
- ΓòÉΓòÉΓòÉ 14.64. SCRPUT - Display text in color ΓòÉΓòÉΓòÉ
-
- Purpose: Position text on the screen and display it in color.
-
- Format: SCRPUT row col [BRIght] [BLInk] fg ON [BRIght] bg text
-
- row : Starting row
- col : Starting column
- fg : Foreground character color
- bg : Background character color
- text : The text to display
-
- See also: CLS, ECHO, SCREEN, TEXT, and VSCRPUT.
-
- Usage
-
- SCRPUT allows you to create attractive screen displays in batch files. You
- use it to specify where a message will appear on the screen and what colors
- will be used to display the message text. You can use SCRPUT to create menu
- displays, logos, etc.
-
- SCRPUT works like SCREEN, but allows you to specify the display colors. It
- writes directly to the screen and does not require ANSI support. It always
- leaves the cursor in its current position. See Colors and Color Names for
- details about colors and notes on the use of bright background colors.
-
- The row and column are zero-based, so on a standard 25 line by 80 column
- display, valid rows are 0 - 24 and valid columns are 0 - 79. You can also
- specify the row and column as offsets from the current cursor position. Begin
- the value with a plus sign [+] to move down the specified number of rows or to
- the right the specified number of columns, or with a minus sign [-] to move up
- or to the left.
-
- The following batch file fragment displays part of a menu, in color:
-
- cls white on blue
- scrput 6 20 bri red on blu 1 - Word Processing
- scrput 7 20 bri yel on blu 2 - Spreadsheet
- ...
-
-
- ΓòÉΓòÉΓòÉ 14.65. SELECT - Select files for a command ΓòÉΓòÉΓòÉ
-
- Purpose: Interactively select files for a command.
-
- Format: SELECT [/A[:][-][rhsda] /D /E /H /I"text" /O[:][-]adeginrsu /Z]
- [command ] ... (files...)...
-
- command : The command to execute with the selected files.
- files : The files from which to select. File names may be
- enclosed in either parentheses or square brackets. The difference
- is explained below.
-
- /A(ttribute select) /I (match descriptions)
- /D(isable color coding) /O(rder)
- /E (use upper case) /Z (use FAT format)
- /H(ide dots)
-
- File Selection
-
- Supports extended wildcards, ranges, multiple file names, and include lists.
- Date, time, or size ranges must appear immediately after the SELECT keyword.
-
- Usage
-
- SELECT allows you to select files for internal and external commands by using
- a full-screen "point and shoot" display. You can have SELECT execute a
- command once for each file you select, or have it create a list of files for a
- command to work with. The command can be an internal command, an alias, an
- external command, or a batch file.
-
- If you use parentheses around the files, SELECT executes the command once for
- each file you have selected. During each execution, one of the selected files
- is passed to the command as an argument. If you use square brackets around
- files, the SELECTed files are combined into a single list, separated by
- spaces. The command is then executed once with the entire list presented as
- its command-line arguments.
-
- SELECT uses the cursor up, cursor down, PgUp, and PgDn keys to scroll through
- the file list. Use the + key or the spacebar to select a file (or unselect a
- marked file), and the - key to unselect a file. The * key will reverse all of
- the current marks (excluding subdirectories), and the / key will unmark
- everything. After marking the files, press Enter to execute the command.
-
- Press the L key to view the current highlighted file with LIST. When you exit
- from LIST, the SELECT screen will be restored.
-
- You can select a single file by moving the scroll bar to the filename and
- pressing Enter without marking any other files.
-
- To skip the files listed in the current display and go on to the next file
- specification inside the parentheses or brackets (if any), press the Esc key.
- To cancel the current SELECT command entirely, press Ctrl-C or Ctrl-Break.
-
- In the simplest form of SELECT, you merely specify the command and then the
- list of files from which you will make your selection(s). For example:
-
- [c:\] select copy (*.com *.exe) a:\
-
- will let you select from among the .COM and .EXE files on the current drive.
- It will then invoke the COPY command to copy each file you select to drive A:.
- You will be able to select first from a list of all .COM files in the current
- directory, and then from a list of all .EXE files.
-
- If you want to select from a list of all the .COM and .EXE files mixed
- together, create an include list inside the parentheses by inserting a
- semicolon:
-
- [c:\] select copy (*.com;*.exe) a:\
-
- Finally, if you want the SELECT command to send a single list of files to
- COPY, instead of invoking COPY once for each file you select, put the file
- names in square brackets instead of parentheses:
-
- [c:\] select copy [*.com;*.exe] a:\
-
- If you use brackets, you have to be sure that the resulting command (the word
- COPY, the list of files, and the destination drive in this example) is no more
- than 1,023 characters long. The current line length is displayed by SELECT
- while you are marking files to help you to conform to this limit.
-
- The parentheses or brackets enclosing the file name(s) can appear anywhere
- within the command; SELECT assumes that the first set of parentheses or
- brackets it finds is the one containing the list of files from which you wish
- to make your selection.
-
- The list of files from which you wish to select can be further refined by
- using date, time, and size ranges. The range must be placed immediately after
- the word SELECT. If the command is an internal command that supports ranges,
- an independent range can also be used in the command itself.
-
- If you don't specify a command, the selected filename(s) will become the
- command. For example, this command defines an alias called UTILS that selects
- from the executable files in the directory C:\UTIL, and then executes them in
- the order marked:
-
- [c:\] alias utils select (c:\util\*.com;*.exe;*.btm;*.bat)
-
- If you want to use filename completion to enter the filenames inside the
- parentheses, type a space after the opening parenthesis. Otherwise the
- command-line editor will treat the open parenthesis as the first character of
- the filename.
-
- You can set the default colors used by SELECT with the SelectColors and
- SelectStatBarColors directives in the .INI file. If SelectColors is not used,
- the SELECT display will use the current default colors. If
- SelectStatBarColors is not used, the status bar will use the reverse of the
- SELECT display colors.
-
- You can display the filenames in color by setting the COLORDIR environment
- variable or using the ColorDir directive in your .INI file. See Color-Coded
- Directories for details. To disable directory color coding within SELECT, use
- the /D option.
-
- When displaying descriptions, SELECT adds a right arrow at the end of the line
- if the description is too long to fit on the screen. This symbol will alert
- you to the existence of additional description text. You can use the left and
- right arrow keys to scroll the screen horizontally and view the additional
- text.
-
- With the /I option, you can select files based on their descriptions. SELECT
- will display files if their description matches the text after the /I switch.
- The search is not case sensitive. You can use wildcards and extended wild
- cards as part of the text.
-
- When sorting file names and extensions for the SELECT display, 4OS2 normally
- assumes that sequences of digits should be sorted numerically (for example,
- the file DRAW2 would come before DRAW03 because 2 is numerically smaller than
- 03), rather than strictly alphabetically (where DRAW2 would come second
- because "2" comes after "0"). You can defeat this behavior and force a strict
- alphabetic sort with the /O:a option.
-
- Options
-
- /A: (Attribute select) Display only those files that have the
- specified attribute set. Preceding the attribute character with a
- minus [-] will display files that do not have that attribute set.
- Attributes can also be combined. The attributes are:
-
- R Read-only
- H Hidden
- S System
- D Subdirectory
- A Archive
-
- If no attributes are listed at all (e.g., SELECT /A ...), SELECT
- will display all files and subdirectories including hidden and
- system files. If attributes are combined, all the specified
- attributes must match for a file to be included in the listing.
- For example, /A:RHS will display only those files with all three
- attributes set.
-
- /D: (Disable color coding) Temporarily turn off directory color coding
- within SELECT.
-
- /E (use upper case) Display filenames in the traditional upper case
- format; also see SETDOS /U and the UpperCase directive in the .INI
- file.
-
- /H (Hide dots) Suppress the display of the "." and ".." directories
-
- /I (match descriptions) Display filenames by matching text in their
- descriptions. The text can include wild cards and extended
- wildcards. The search text must be enclosed in quotation marks.
- /I will be ignored if /C or /O:c is also used.
-
- /O: (Order) Set the sort order for the files. The order can be any
- combination of the following options:
-
- - Reverse the sort order for the next option
- a Sort in ASCII order, not numerically, when there are digits in
- the name
- d Sort by date and time (oldest first); for HPFS drives also see
- /T
- e Sort by extension
- g Group subdirectories first, then files
- i Sort by file description
- n Sort by filename (this is the default)
- r Reverse the sort order for all options
- s Sort by size
- u Unsorted
-
- /Z: Display HPFS filenames in FAT format. Long names will be truncated
- to 12 characters. If the name is longer than 12 characters, it
- will be followed by a right arrow to show that one or more
- characters have been truncated.
-
-
- ΓòÉΓòÉΓòÉ 14.66. SET - Create or modify environment variables ΓòÉΓòÉΓòÉ
-
- Purpose: Display, create, modify, or delete environment variables.
-
- Format: SET [/P /R filename...] [name [=][value ]]
-
- filename : The name of a file containing variable definitions.
- name : The name of the environment variable to define or modify.
- value : The new value for the variable.
-
- /P(ause) /R(ead from file)
-
- See also: ESET and UNSET.
-
- Usage
-
- Every program and command inherits an environment, which is a list of variable
- names, each of which is followed by an equal sign and some text. Many
- programs use entries in the environment to modify their own actions.
-
- If you simply type the SET command with no options or arguments, it will
- display all the names and values currently stored in the environment.
- Typically, you will see an entry called COMSPEC, an entry called PATH, an
- entry called CMDLINE, and whatever other environment variables you and your
- programs have established:
-
- [c:\] set
- COMSPEC=C:\4OS2\$OS2.EXE
- PATH=C:\;C:\OS2;C:\OS2\SYSTEM;C:\UTIL
- CMDLINE=C:\4OS2\4START.CMD
-
- To add a variable to the environment, type SET, a space, the variable name, an
- equal sign, and the text:
-
- [c:\] set mine=c:\finance\myfiles
-
- The variable name is converted to upper case by 4OS2. The text after the
- equal sign will be left just as you entered it. If the variable already
- exists, its value will be replaced with the new text that you entered.
-
- Normally you should not put a space on either side of the equal sign. A space
- before the equal sign will become part of the name ; a space after the equal
- sign will become part of the value.
-
- If you use SET to create a variable with the same name as one of the 4OS2
- internal variables, you will disable the internal variable. If you later
- execute a batch file or alias that depends on that internal variable, it may
- not operate correctly.
-
- To display the contents of a single variable, type SET plus the variable name:
-
- [c:\] set mine
-
- You can edit environment variables with the ESET command. To remove variables
- from the environment, use UNSET, or type SET plus a variable name and an equal
- sign:
-
- [c:\] set mine=
-
- The variable name is limited to a maximum of 80 characters. The name and value
- together cannot be longer than 1,023 characters.
-
- In 4OS2 the size of the environment is set automatically, and increased as
- necessary as you add variables.
-
- Options
-
- /P: (Pause) Wait for a key to be pressed after each screen page before
- continuing the display. Your options at the prompt are explained
- in detail under Page and File Prompts.
-
- /R: (Read) Read environment variables from a file. This is much faster
- than loading variables from a batch file with multiple SET
- commands. Each entry in the file must fit within the 1,023-byte
- command-line length limit for 4OS2: The file is in the same format
- as the SET display, so SET /R can accept as input a file generated
- by redirecting SET output. For example, the following commands
- will save the environment variables to a file, and then reload them
- from that file:
-
- set > varlist
- set /r varlist
-
- You can load variables from multiple files by listing the filenames
- individually after the /R. You can add comments to a variable file
- by starting the comment line with a colon [:].
-
- If you are creating a SET /R file by hand, and need to create an
- entry that spans multiple lines in the file, you can do so by
- terminating each line, except the last, with an escape character.
- However, you cannot use this method to exceed the command-line
- length limit.
-
-
- ΓòÉΓòÉΓòÉ 14.67. SETDOS - Set the 4OS2 configuration ΓòÉΓòÉΓòÉ
-
- Purpose: Display or set the 4OS2 configuration.
-
- Format: SETDOS [/B? /C? /D /E? /Fn.n /I+|- command /L? /M? /N? /P? /R?
- /S?:? /U? /V? /X[+|-]n /Y?]
-
- /B(right background) /N(o clobber)
- /C(ompound) /P(arameter character)
- /D(escriptions) /R(ows)
- /E(scape character) /S(hape of cursor)
- /F(ormat for @EVAL) /U(pper case)
- /I(nternal commands) /V(erbose)
- /L(ine) /X (expansion, special characters)
- /M(ode for editing) /Y (single step)
-
- Usage
-
- SETDOS allows you to customize certain aspects of 4OS2 to suit your personal
- tastes or the configuration of your system. Each of these options is
- described below.
-
- You can display the value of all SETDOS options by entering the SETDOS command
- with no parameters.
-
- Most of the SETDOS options can be initialized when 4OS2 executes the
- configuration directives in the .INI file. The name of the corresponding
- directive is listed with each option below; if none is listed, that option
- cannot be set from the .INI file. You can also define the SETDOS options in
- your AUTOEXEC.BAT, 4START, or other startup file (see Automatic Batch Files),
- in aliases, or at the command line.
-
- Secondary shells automatically inherit most configuration settings currently
- in effect in the previous shell. If values have been changed by SETDOS since
- 4OS2 started, the new values will be passed to the secondary shell.
-
- SETDOS /I settings are not inherited by secondary shells. If you want to use
- SETDOS /I- to disable commands in all shells, place the SETDOS command(s) in
- your 4START file, which is executed when any shell starts.
-
- Options
-
- /B: (Bright background) The BRIGHTBG option determines whether 4OS2
- configures your video adapter for blinking text (/B0, the default)
- or bright background colors (/B1). /B2 will prevent 4OS2 from
- adjusting the bright / blink status. See Colors and Color Names for
- a detailed discussion of this option. Also see the BrightBG
- directive.
-
- /C: (Compound character) The COMPOUND option sets the character used
- for separating multiple commands on the same line. The default is
- the ampersand [&]. You cannot use any of the redirection characters
- (| > <), or the blank, tab, comma, or equal sign as the command
- separator. This example changes the COMPOUND character to a tilde
- [~]:
-
- [c:\] setdos /c~
-
- If you want to share batch files or aliases between 4DOS and 4OS2
- or 4DOS/NT, see the %+ variable, which retrieves the current
- command separator, and 4DOS, 4OS2, and 4DOS/NT Compatibility for
- details on using compatible command separators for all the products
- you use. Also see the CommandSep directive.
-
- /D: (Descriptions) The DESCRIPTIONS option controls whether file
- processing commands like COPY, DEL, MOVE, and REN process file
- descriptions along with the files they belong to. /D1 turns
- description processing on, which is the default. /D0 turns
- description processing off. Also see the Descriptions directive.
-
- /E: (Escape character) The ESCAPE option sets the character used to
- suppress the normal meaning of the following character. Any
- character following the escape character will be passed unmodified
- to the command. The default escape character is a caret [^]. You
- cannot use any of the redirection characters (| > <) or the blank,
- tab, comma, or equal sign as the escape character. Certain
- characters (b, c, e, f, n, r, s, and t) have special meanings when
- immediately preceded by the escape character.
-
- If you want to share batch files or aliases between 4DOS and 4OS2
- or 4DOS/NT, see the %= variable, which retrieves the current escape
- character, and 4DOS, 4OS2, and 4DOS/NT Compatibility for details on
- using compatible escape characters for all the products you use.
- Also see the EscapeChar directive.
-
- /F: (Format for @EVAL) The FORMAT option lets you set default decimal
- precision for the @EVAL variable function. The maximum precision is
- 16 digits to the left of the decimal point and 8 digits to the
- right of the decimal point. By default, the minimum precision to
- the right of the decimal point is 0. The general form of this
- option is /Fx.y, where x sets the minimum number of digits to the
- right of the decimal place and y sets the maximum number of digits.
- Both values can range from 0 to 8; if x is greater than x, it is
- ignored. You can specify either or both values, for example /F2.5,
- /F2, and /F.5 are all valid entries.
-
- See @EVAL if you want to set the precision for a single
- computation.
-
- Also see the EvalMax and EvalMin directives.
- /I: (Internal) The INTERNAL option allows you to disable or enable
- internal commands. To disable a command, precede the command name
- with a minus [-]. To re-enable a command, precede it with a plus
- [+]. For example, to disable the internal LIST command to force
- 4OS2 to use an external command:
-
- [c:\] setdos /i-list
-
- /L: (Line) The LINE option controls how 4OS2 gets its input from the
- command line. /L0 tells 4OS2 to use character input (the default).
- /L1 tells it to use line input (like CMD.EXE ). /L1 will disable
- command-line editing, history recall, filename completion, and the
- directory history window, and will reduce the 4OS2 input length
- limit from 1023 characters to 255 characters. It should only be
- used if it is needed for compatibility with a specific program. If
- you have a program that requires line input, you can use the
- following line in an alias or batch file to change the line input
- option just for that single program (change the command separator
- to an ampersand [&] for 4OS2):
-
- setdos /L1 & program %& & setdos /L0
-
- See README.DOC for information on programs which require this
- option. Also see the LineInput directive.
-
- /M: (Mode) The MODE option controls the initial line editing mode. To
- start in overstrike mode at the beginning of each command line, use
- /M0 (the default). To start in insert mode, use /M1. Also see the
- EditMode directive.
-
- /N: (No clobber) The NOCLOBBER option controls output redirection).
- /N0 means existing files will be overwritten by output redirection
- (with >) and that appending (with >>) does not require the file to
- exist already. This is the default. /N1 means existing files may
- not be overwritten by output redirection, and that when appending
- the output file must exist. A /N1 setting can be overridden with
- the [!] character. If you use /N1, you may have problems with a
- few unusual programs that shell out to run a command with
- redirection, and expect to be able to overwrite an existing file.
- Also see the NoClobber directive.
-
- /P: (Parameter character) This option sets the character used after a
- percent sign to specify all or all remaining command-line arguments
- in a batch file or alias (e.g., %& or %n&; . The default is the
- dollar sign [$].
-
- If you want to share batch files or aliases between 4DOS and 4OS2
- or 4DOS/NT, see 4DOS, 4OS2, and 4DOS/NT Compatibility for details
- on selecting compatible parameter characters for all the products
- you use. Also see the ParameterChar directive.
-
- /R: (Rows) The ROWS option sets the number of screen rows used by the
- video display. Normally 4OS2 detects the screen size, but if you
- have a non-standard display you may need to set it explicitly.
- This option does not affect screen scrolling (which is controlled
- by your video driver). It is used only for LIST, SELECT, the paged
- output options (i.e., TYPE /P), and error checking in the screen
- output commands. Also see the ScreenRows directive.
-
- /S: (Shape) The SHAPE option sets the cursor shape. The format is
- /So:i where o is the cursor size for overstrike mode, i the cursor
- size for insert mode. The size is entered as a percentage of the
- total character height. The default values are 10:100 (an
- underscore cursor for overstrike mode, and a block cursor for
- insert mode). Because of the way video drivers remap the cursor
- shape, you may not get a smooth progression in the cursor size from
- 0% - 100%. To disable the cursor, enter /S0:0. If either value is
- -1, 4OS2 will not attempt to modify the cursor shape at all. You
- can use this feature to give another program full control of the
- cursor shape. Also see the CursorOver and CursorIns directives.
-
- /U: (Upper) The UPPER option controls the default case (upper or lower)
- for file and directory names displayed by internal commands like
- COPY and DIR. /U0 displays file names in lower case (the default).
- /U1 displays file names in the traditional upper case. The /U
- setting is ignored for HPFS filenames. HPFS names are always
- displayed in the case in which they are stored. Also see the
- UpperCase directive.
-
- /V: (Verbose) The VERBOSE option controls the default for command
- echoing in batch files. /V0 disables echoing of batch file
- commands unless ECHO is explicitly set ON. /V1, the default
- setting, enables echoing of batch file commands unless ECHO is
- explicitly set OFF. Also see the BatchEcho directive.
-
- /V2 forces echoing of all batch file commands, even if ECHO is set
- OFF or the line begins with an "@". This allows you to turn
- echoing on for a batch file without editing the batch file and
- removing the ECHO OFF command(s) within it. /V2 is intended for
- debugging, and can be set with SETDOS, but not with the BatchEcho
- directive in 4OS2.INI.
-
- /X[+|-]n(eXpansion and special characters): This option enables and
- disables alias and environment variable expansion, and controls
- whether special characters have their usual meaning or are treated
- as text. It is most often used in batch files to process text
- strings which may contain special characters.
-
- The features enabled or disabled by /X are numbered. All features
- are enabled when 4OS2 starts, and you can re-enable all features at
- any time by using /X0. To disable a particular feature, use /X-n,
- where n is the feature number from the list below. To re-enable
- the feature, use /X+n. To enable or disable multiple individual
- features, list their numbers in sequence after the + or - (e.g. /X-
- 345 to disable features 3, 4, and 5).
-
- The features are:
-
- 1 All alias expansion.
- 2 Nested alias expansion only.
- 3 All variable expansion (environment variables and batch and
- alias parameters)
- 4 Nested variable expansion only.
- 5 Multiple commands, conditional commands, and piping
- 6 Redirection
- 7 Quoting (double quotes and back quotes) and square brackets
- 8 Escape character.
-
- If nested alias expansion is disabled, the first alias of a command
- is expanded but any aliases it invokes are not expanded. If nested
- variable expansion is disabled, each variable is expanded once, but
- variables containing the names of other variables are not expanded
- further.
-
- For example, to disable all features except alias expansion while
- you are processing a text file containing special characters:
-
- setdos /x-35678
- ... [perform text processing here]
- setdos /x0
-
- /Y: (Single step) /Y1 enables single-stepping through a batch file.
- Each command is displayed on the screen along with a Y/N/R (yes /
- no / remainder) prompt. Press Y to execute the command, N to omit
- the command and go on to the next, or R or Esc to execute the
- remainder of the batch file (up to the next SETDOS /Y1 command).
- You may also press Ctrl-C or Ctrl-Break toterminate the batch file.
-
- Batch file single stepping is disabled each time 4OS2 returns to
- the command prompt. This means you cannot enter the SETDOS /Y1
- command at the prompt, press Enter, and start a batch file in
- single step mode at the next prompt. However you can enable single
- step operation and run a batch file from the prompt if you enter
- both commands on one line. For example, this command runs
- FILECOMP.CMD with single step enabled:
-
- [c:\] setdos /y1 & filecomp.cmd
-
-
- ΓòÉΓòÉΓòÉ 14.68. SETLOCAL - Save the environment ΓòÉΓòÉΓòÉ
-
- Purpose: Save a copy of the current disk drive, directory, environment, and
- alias list.
-
- Format: SETLOCAL
-
- See also: ENDLOCAL.
-
- Usage
-
- SETLOCAL is used in batch files to save the default disk drive and directory,
- the environment, and the alias list to a reserved block of memory. You can
- then change their values and later restore the original values with the
- ENDLOCAL command.
-
- For example, this batch file fragment saves everything, removes all aliases so
- that user aliases will not affect batch file commands, changes the disk and
- directory, modifies a variable, runs a program, and then restores the original
- values:
-
- setlocal
- unalias *
- cdd d:\test
- set path=c:\;c:\dos;c:\util
- rem run some program here
- endlocal
-
- SETLOCAL and ENDLOCAL are not nestable within a batch file. However, you can
- have multiple SETLOCAL / ENDLOCAL pairs within a batch file, and nested batch
- files can each have their own SETLOCAL / ENDLOCAL. You cannot use SETLOCAL in
- an alias or at the command line.
-
- An ENDLOCAL is performed automatically at the end of a batch file if you
- forget to do so. If you invoke one batch file from another without using
- CALL, the first batch file is terminated, and an automatic ENDLOCAL is
- performed. The second batch file inherits the drive, directory, aliases, and
- environment variables as they were prior to any unterminated SETLOCAL.
-
-
- ΓòÉΓòÉΓòÉ 14.69. SHIFT - Shift batch file parameters ΓòÉΓòÉΓòÉ
-
- Purpose: Allows the use of more than 127 parameters in a batch file.
-
- Format: SHIFT [n ]
-
- n : Number of positions to shift.
-
- Usage
-
- SHIFT is provided for compatibility with older batch files, where it was used
- to access more than 10 parameters. 4OS2 supports 128 parameters (%0 to %127),
- so you may not need to use SHIFT for batch files running exclusively under JP
- Software command processors.
-
- SHIFT moves each of the batch file parameters n positions to the left. The
- default value for n is 1. SHIFT 1 moves the parameter in %1 to position %0,
- the parameter in %2 becomes %1, etc. You can reverse a SHIFT by giving a
- negative value for n (i.e., after SHIFT -1, the former %0 is restored, %0
- becomes %1, %1 becomes %2, etc.).
-
- SHIFT also affects the parameters %n$. (command-line tail) and %# (number of
- command arguments).
-
-
- ΓòÉΓòÉΓòÉ 14.70. START - Start a program in another session ΓòÉΓòÉΓòÉ
-
- Purpose: Start a program in another session or window.
-
- Format: START ["program title "] [/B[G] /C /DOS[=optfile ] /F[G] /FS /I
- /ICON=iconfile /INV /K /L /LA /LH /MAX /MIN /N /PGM progname /PM
- /POS=row,col,width,height /WAIT /WIN /WIN3[=optfile ]
- /WIN3S[=optfile ]] [command ]
-
- program title : Title to appear on title bar.
- optfile : Option settings file.
- iconfile : Name of icon (.ICO ) file.
- progname : Program name (not the session name).
- path : Startup directory.
- command : Command to be executed.
-
- /B[G] (background session) /LH (local history list)
- /C(lose when done) /MAX(imized)
- /DOS (DOS session) /MIN(imized)
- /F[G] (foreground session) /N(o 4OS2.EXE )
- /FS (full screen) /PGM (program name)
- /I(nherit environment) /PM (PM application)
- /ICON (.ICO file) /POS(ition of window)
- /INV(isible) /WAIT (for session to finish)
- /K(eep when done) /WIN(dowed session)
- /L(ocal lists) /WIN3 (Windows enhanced mode)
- /LA (local aliases) /WIN3S (Windows standard mode)
- /LD (local dir history)
-
- See also: DETACH.
-
- Usage
-
- START is used to begin a new OS/2 session, and optionally run a program in
- that session. If you use START with no parameters, it will begin a new
- command-line session. If you add a command, START will begin a new session or
- window and execute that command.
-
- The program title, if it is included, will appear on the title bar, and on the
- Presentation Manager task list (OS/2 version 1.x) or window list (OS/2 version
- 2.x). The program title must be enclosed in quotation marks and cannot exceed
- 60 characters. If the program title is omitted, the program name will be used
- as the title.
-
- START offers a large number of switches to control the session you start. In
- most cases you need only a few switches to accomplish what you want. The list
- below summarizes the most commonly used START options, and how you can use
- them to control the way a session is started:
-
- /MAX, /MIN, and /POS allow you to start a character-mode windowed
- session in a maximized window, a minimized window, or a window with a
- specified position and size. The default is to let the operating
- environment choose the position and size of the window.
-
- /C allows you to close the session when the command is finished (the
- default for DOS and OS/2 Presentation Manager sessions); /K allows you
- to keep the session open and go to a prompt (the default for OS/2
- character mode sessions).
-
- /BG and /FG allow you to start the session in the background(does not
- respond to keystrokes until selected) or foreground (responds to
- keystrokes until deselected). /FG is the default if /DOS, /FS, /WIN,
- or /PM is used; otherwise, /BG is the default.
-
- /FS and /WIN control whether a character-mode session is started in
- full-screen or windowed mode. The default is to start a session of the
- same type as the current session, if the application can be run in such
- a session.
-
- START determines the application type automatically and starts the session in
- the appropriate mode: OS/2, Windows, DOS, full-screen, windowed, or
- Presentation Manager.
-
- START gives you some flexibility in determining the session mode. For example,
- if the command is the name of a batch file (either a .BTM or .CMD file), you
- can use the /FS or /WIN options to run the batch file as part of a new 4OS2
- session in either full-screen or windowed mode.
-
- However, you cannot start a session in a mode that is inappropriate for the
- application type. A DOS application cannot be run as part of a Presentation
- Manager session, for example, even if you use the /PM switch. Invalid or
- conflicting options will be ignored. 4OS2 will always attempt to run the
- command in the appropriate type of session.
-
- If the program is a DOS application or .BAT file, 4OS2 will return an error
- message in OS/2 version 1.x. In OS/2 version 2.x, 4OS2 will start a new DOS
- session to run the program or batch file. The DOS session will close itself
- automatically as soon as the program or batch file ends, unless /K is used.
- If you want the session to wait for a keystroke before it closes itself, you
- can use the syntax:
-
- [c:\] start /DOS command ^^ pause
-
- (Because the caret [^] is the default 4OS2 escape character, two carets must
- be used in order to pass one on to 4DOS as a command separator.)
-
- If you want to start a DOS command-line session in OS/2 version 2.x, you can
- use the command:
-
- [c:\] start /DOS
-
- You can specify settings for DOS and Windows sessions by using a settings
- options file, and loading it with the /DOS=, /WIN3=, or /WIN3S= option. This
- allows you to start DOS and Windows sessions with specific settings without
- creating a desktop object and modifying the settings manually. Before using
- this capability you should read the description of it under /DOS= (below) very
- carefully, since errors in the settings file can occasionally hang your
- system.
-
- Options
-
- /BG: (BackGround session) The session is started as a background
- session. /BG may be abbreviated to /B.
-
- /C: (Close) The session or window is closed when the application
- ends.
-
- /DOS[=filename]:(DOS session) Start a DOS session under OS/2 version 2.x.
- This option is not available in OS/2 version 1.x, which doesn't
- allow multiple DOS sessions.
-
- If you include the =filename, OS/2 will load DOS settings from
- the specified file. This option is available only in the
- 32-bit version of 4OS2.
-
- Starting a session with specific DOS settings is an
- undocumented feature which was implemented within OS/2 with
- little error checking. It is included in START because it
- substantially eases a complex task, but you must experiment
- carefully to ensure that the settings you select will work
- properly on the systems on which you plan to use them.
- Incorrect settings may be ignored, but they may also hang your
- session or stop the entire system. Be sure your experiments
- are not conducted while critical tasks are in process.
-
- Each line in the file must have a name, an equal sign [=], and
- a value. The names are those shown in OS/2's DOS Settings
- dialog box. Do not use spaces on either side of the equal
- sign.
-
- The names in the DOS Settings dialog box will vary depending on
- the device drivers and other settings in your CONFIG.SYS file,
- though many are available on all systems. You must ensure that
- the names you use are valid for the systems on which you use
- them. For example, if you replace IBM's COM.SYS and VCOM.SYS
- with different communications drivers, the COM_ settings will
- probably not be valid for the new drivers. If you have a
- settings file which contains settings defined by a particular
- driver, and use it on a system where the corresponding driver
- is not loaded, the results are undefined.
-
- The values in your settings file must be numeric for settings
- which show a numeric value under DOS Settings (e.g.,
- DOS_FILES=30), and must be text strings for settings shown with
- a string (e.g., DOS_SHELL=C:\4DOS.COM C:\4DOS /P). Strings
- should be entered without trailing blanks. For values shown as
- multiple choice on the DOS Settings page you must specify a
- numeric value, typically "0" for Off and 1 for On (e.g.,
- DOS_HIGH=1). Items with choices other than Off and On may use
- different values, or may not work at all; experimentation is
- usually required to find out what works. Attempting to use
- strings for choice items (e.g., DOS_HIGH=ON) will not work, and
- can hang your system. This is due to the internal operation of
- OS/2, and is not a problem in 4OS2.
-
- A typical DOS settings file might look like this:
-
- DOS_FILES=30
- DOS_HIGH=1
- DOS_SHELL=C:\4DOS\4DOS.COM C:\4DOS /P
- MOUSE_EXCLUSIVE_ACCESS=0
- VIDEO_FASTPASTE=1
-
- You can include comments in a settings file by beginning any
- line with a colon [:].
-
- /FG: (ForeGround session) Start the session as the foreground
- session. /FG may be abbreviated to /F.
-
- /FS: (Full Screen) Start the session as a full-screen session.
-
- /I: (Inherit environment) Inherit the default environment specified
- in CONFIG.SYS, if any, rather than the current environment.
-
- /ICON=filename:Use the specified icon file. If you don't use /ICON, 4OS2
- will look for an .ICO file with the same file name and in the
- same directory as the program file. Some versions of OS/2 may
- ignore this option and use the default icon for the session.
- If you encounter this problem, check whether an update to OS/2
- has been released which addresses it.
-
- /INV: (Invisible) Start the session or window as invisible. No icon
- will appear and the session will only be accessible through the
- Task Manager or Window List.
-
- /K: (Keep session or window at end) The session or window continues
- after the application program ends. Use the EXIT command to
- end the session.
-
- /L: (Local lists) Start 4OS2 with local alias, history, and
- directory history lists. This option combines the effects of
- /LA, /LD, and /LH (below).
-
- /LA: (Local Alias list) Start 4OS2 with a local alias list.See ALIAS
- for information on local and global aliases.
-
- /LD: (Local Directory history) Start 4OS2 with a local directory
- history list. See Local and Global Directory History for more
- information.
-
- /LH: (Local History list) Start 4OS2 with a local history list. See
- Command History and Recall for information on local and global
- history lists.
-
- /MAX: (Maximized) Start the session or window maximized.
-
- /MIN: (Minimized) Start the session or window minimized.
-
- /N: Under 4OS2, start an OS/2 program directly, without a command
- processor. The command cannot be an internal command or batch
- file. This is the default for PM applications.
-
- /PGM: (Program name) The string following this option is the program
- name. The first quoted string on the line will be used as the
- session and task list title, and not as the program name.
-
- /PM: (Presentation Manager) Start a program in the PM session.
-
- /POS: (Position) Start the window at the specified screen position.
- The syntax is /POS=row, col, width, height where the values are
- specified in pixels or pels. Row and col refer to the position
- of the bottom left corner of the window relative to the bottom
- left corner of the screen.
-
- /WAIT: Wait for the new session or window to finish before continuing.
- Cannot be used with /WIN3 or /WIN3S.
-
- /WIN: (Windowed) Start the session in a window.
-
- /WIN3[=filename]:(Windows enhanced mode) Run the program in an
- enhanced-mode Windows 3.x session. The session will run
- seamless (on the OS/2 desktop). To start a Windows application
- in full-screen mode, use /FS rather than /WIN3. You can
- include an equal sign and the name of an options file to set
- options for the specific session and application (see /DOS=
- above for details). The setting names in the file should be
- taken from those shown in OS/2's WIN-OS/2 Settings dialog box.
- Available only in the 32-bit version of 4OS2.
-
- /WIN3S[=filename]:(Windows standard mode) Equivalent to /WIN3, but runs the
- program in standard mode rather than enhanced mode. Available
- only in 4OS2/32.
-
-
- ΓòÉΓòÉΓòÉ 14.71. TEE - "Tee" pipe fitting ΓòÉΓòÉΓòÉ
-
- Purpose: Copy standard input to both standard output and a file.
-
- Format: TEE [/A] file...
-
- file : One or more files that will receive the "tee-d" output.
-
- /A(ppend)
-
- See also: Y and the redirection options.
-
- Usage
-
- TEE is normally used to "split" the output of a program so that you can see it
- on the display and also save it in a file. It can also be used to capture
- intermediate output before the data is altered by another program or command.
-
- TEE gets its input from standard input (usually the piped output of another
- command or program), and sends out two copies: one goes to standard output,
- the other to the file or files that you specify. TEE is not likely to be
- useful with programs which do not use standard output, because these programs
- cannot send output through a pipe.
-
- For example, to search the file DOC for any lines containing the string
- "4OS2", make a copy of the matching lines in 4.DAT, sort the lines, and write
- them to the output file 4O.DAT :
-
- [c:\] find "4OS2" doc | tee 4.dat | sort > 4o.dat
-
- If you are typing at the keyboard to produce the input for TEE, you must enter
- a Ctrl-Z to terminate the input.
-
- When using TEE with a pipe under 4OS2, the programs on the two ends of the
- pipe run simultaneously, not sequentially as in 4DOS.
-
- See Piping for more information on pipes.
-
- Option
-
- /A: (Append) Append the output to the file(s) rather than overwriting
- them.
-
-
- ΓòÉΓòÉΓòÉ 14.72. TEXT - Display text in a batch file ΓòÉΓòÉΓòÉ
-
- Purpose: Display a block of text in a batch file.
-
- Format: TEXT
- .
- .
- .
- ENDTEXT
-
- See also: ECHO, SCREEN, SCRPUT, and VSCRPUT.
-
- Usage
-
- TEXT can only be used in batch files.
-
- The TEXT command is useful for displaying menus or multi-line messages. TEXT
- will display all subsequent lines in the batch file until terminated by
- ENDTEXT. Both TEXT and ENDTEXT must be entered as the only command on the
- line.
-
- To redirect the entire block of text, use redirection on the TEXT command
- itself, but not on the actual text lines or the ENDTEXT line. No environment
- variable expansion or other processing is performed on the lines between TEXT
- and ENDTEXT; they are displayed exactly as they are stored in the batch file.
-
- You can change screen colors by inserting ANSI escape sequences anywhere in
- the text block. You can also use a CLS or COLOR command to set the screen
- color before executing the TEXT command.
-
- The following batch file fragment displays a simple menu:
-
- @echo off & cls
- screen 2 0
- text
- Enter one of the following:
- 1 - Spreadsheet
- 2 - Word Processing
- 3 - Utilities
- endtext
-
-
- ΓòÉΓòÉΓòÉ 14.73. TIME - Set the system time ΓòÉΓòÉΓòÉ
-
- Purpose: Display or set the current system time.
-
- Format: TIME [hh [:mm [:ss ]]] [AM | PM]
-
- hh : The hour (0 - 23).
- mm : The minute (0 - 59).
- ss : The second (0 - 59).
-
- See also: CHCP and DATE.
-
- Usage
-
- If you don't enter any parameters, TIME will display the current system time
- and prompt you for a new time. Press Enter if you don't wish to change the
- time; otherwise, enter the new time:
-
- [c:\] time
- Thu Dec 22, 1994 9:30:10
- New time (hh:mm:ss):
-
- TIME defaults to 24-hour format, but you can optionally enter the time in
- 12-hour format by appending "a", "am", "p", or "pm" to the time you enter.
-
- For example, to enter the time as 9:30 am:
-
- [c:\] time 9:30 am
-
- OS/2 adds the system time and date to the directory entry for every file you
- create or modify. If you keep both the time and date accurate, you will have
- a record of when you last updated each file.
-
-
- ΓòÉΓòÉΓòÉ 14.74. TIMER - Start or stop a stopwatch ΓòÉΓòÉΓòÉ
-
- Purpose: TIMER is a system stopwatch.
-
- Format: TIMER [ON] [/1 /2 /3 /S]
-
- ON: Force the stopwatch to restart
-
- /1 (stopwatch #1) /3 (stopwatch #3)
- /2 (stopwatch #2) /S(plit)
-
- Usage
-
- The TIMER command turns a system stopwatch on and off. When you first run
- TIMER, the stopwatch starts:
-
- [c:\] timer
- Timer 1 on: 12:21:46
-
- When you run TIMER again, the stopwatch stops and the elapsed time is
- displayed:
-
- [c:\] timer
- Timer 1 off: 12:21:58 Elapsed time: 0:00:12.06
-
- There are three stopwatches available (1, 2, and 3) so you can time multiple
- overlapping events. By default, TIMER uses stopwatch #1.
-
- The smallest interval TIMER can measure depends on the operating system you
- are using, your hardware, and the interaction between the two. However, it
- should never be greater than .06 second. The largest interval is 23 hours, 59
- minutes, 59.99 seconds.
-
- Options
-
- /1: Use timer #1 (the default).
-
- /2: Use timer #2.
-
- /3: Use timer #3.
-
- /S: (Split) Display a split time without stopping the timer. To
- display the current elapsed time but leave the timer running:
-
- [c:\] timer /s
- Timer 1 elapsed: 0:06:40.63
-
- ON: Start the timer regardless of its previous state (on or off).
- Otherwise the TIMER command toggles the timer state (unless /S is
- used).
-
-
- ΓòÉΓòÉΓòÉ 14.75. TYPE - Display file(s) ΓòÉΓòÉΓòÉ
-
- Purpose: Display the contents of the specified file(s).
-
- Format: TYPE [/A:[[-]rhsda] /L /P] file...
-
- file : The file or list of files that you want to display.
-
- /A:(ttribute select) /P(ause)
- /L(ine numbers)
-
- See also: LIST.
-
- File Selection
-
- Supports extended wildcards, ranges, multiple file names, and include lists.
-
- Usage
-
- The TYPE command displays a file. It is normally only useful for displaying
- ASCII text files. Executable files (.COM and .EXE ) and many data files may
- be unreadable when displayed with TYPE because they include non-alphanumeric
- characters.
-
- To display the files MEMO1 and MEMO2 :
-
- [c:\] type /p memo1 memo2
-
- You can press Ctrl-S to pause TYPE's display and then any key to continue.
-
- You will probably find LIST to be more useful for displaying files. However,
- the TYPE /L command used with redirection is useful if you want to add line
- numbers to a file.
-
- Options
-
- /A: (Attribute select) Select only those files that have the specified
- attribute(s) set. Preceding the attribute character with a hyphen
- [-] will select files that do not have that attribute set. The
- attributes are:
-
- R Read-only
- H Hidden
- S System
- D Subdirectory
- A Archive
-
- If no attributes are listed at all (e.g., TYPE /A: ...), TYPE will
- select all files and subdirectories including hidden and system
- files. If attributes are combined, all the specified attributes
- must match for a file to be selected. For example, /A:RHS will
- select only those files with all three attributes set.
-
- /L: (Line numbers) Display a line number preceding each line of text.
-
- /P: (Pause) Prompt after displaying each page. Your options at the
- prompt are explained in detail under Page and File Prompts.
-
-
- ΓòÉΓòÉΓòÉ 14.76. UNALIAS - Remove aliases ΓòÉΓòÉΓòÉ
-
- Purpose: Remove aliases from the alias list.
-
- Format: UNALIAS [/Q] alias...
- or
- UNALIAS *
-
- alias : One or more aliases to remove from memory.
-
- /Q(uiet)
-
- See also: ALIAS and ESET.
-
- Usage
-
- 4OS2 maintains a list of the aliases that you have defined. The UNALIAS
- command will remove aliases from that list. You can remove one or more
- aliases by name, or you can delete the entire alias list by using the command
- UNALIAS *.
-
- For example, to remove the alias DDIR:
-
- [c:\] unalias ddir
-
- To remove all the aliases:
-
- [c:\] unalias *
-
- Options
-
- /Q: (Quiet) Prevents UNALIAS from displaying an error message if one or
- more of the aliases does not exist. This option is most useful in
- batch files, for removing a group of aliases when some of the
- aliases may not have been defined.
-
-
- ΓòÉΓòÉΓòÉ 14.77. UNSET - Remove environment variables ΓòÉΓòÉΓòÉ
-
- Purpose: Remove variables from the environment.
-
- Format: UNSET [/Q] name...
- or
- UNSET *
-
- name : One or more variables to remove from the environment.
-
- /Q(uiet)
-
- See also: ESET and SET.
-
- Usage
-
- UNSET removes one or more variables from the environment. For example, to
- remove the variable CMDLINE:
-
- [c:\] unset cmdline
-
- If you use the command UNSET *, all of the environment variables will be
- deleted:
-
- [c:\] unset *
-
- UNSET is often used in conjunction with the SETLOCAL and ENDLOCAL commands in
- order to clear the environment of variables that may cause problems for some
- applications.
-
- For more information on environment variables, see the SET command and the
- general discussion of the environment.
-
- Use caution when removing environment variables, and especially when using
- UNSET *. Many programs will not work properly without certain environment
- variables; for example, 4OS2 uses PATH and DPATH.
-
- Options
-
- /Q: (Quiet) Prevents UNSET from displaying an error message if one or
- more of the variables does not exist. This option is most useful
- in batch files, for removing a group of variables when some of the
- variables may not have been defined.
-
-
- ΓòÉΓòÉΓòÉ 14.78. VER - Display the 4OS2 and OS/2 version ΓòÉΓòÉΓòÉ
-
- Purpose: Display the current command processor and operating system
- versions.
-
- Format: VER [/R]
-
- /R(evision level)
-
- Usage
-
- Version numbers consist of a one-digit major version number, a period, and a
- one- or two-digit minor version number. The VER command displays both version
- numbers:
-
- [c:\] ver
-
- 4OS2/32 2.5 OS/2 Version is 2.1
-
- Option
-
- /R: (Revision level) Display the 4OS2 and OS/2 internal revision levels
- (if any), plus your 4OS2 serial number and registered name.
-
-
- ΓòÉΓòÉΓòÉ 14.79. VERIFY - Enable or disable disk write verification ΓòÉΓòÉΓòÉ
-
- Purpose: Enable or disable disk write verification or display the
- verification state.
-
- Format: VERIFY [ON | OFF]
-
- Usage
-
- OS/2 maintains an internal verify flag. When the flag is on, OS/2 attempts to
- verify each disk write by making sure that the data written to the disk can be
- read back successfully into the computer. It does not compare the data
- written with the data actually placed on disk.
-
- If used without any parameters, VERIFY will display the state of the verify
- flag:
-
- [c:\] verify
- VERIFY is OFF
-
- VERIFY is off when the system boots up. Once it is turned on with the VERIFY
- ON command, it stays on until you use the VERIFY OFF command or until you
- reboot.
-
- Verification will slow your disk write operations slightly (the effect is not
- usually noticeable).
-
-
- ΓòÉΓòÉΓòÉ 14.80. VOL - Display disk volume labels ΓòÉΓòÉΓòÉ
-
- Purpose: Display disk volume label(s).
-
- Format: VOL [d :] ...
-
- d: The drive or drives to search for labels.
-
- Usage
-
- Each disk may have a volume label, created when the disk is formatted or with
- the external LABEL command. Also, every floppy disk formatted with DOS
- version 4.0 or above, OS/2, or Windows NT has a volume serial number.
-
- The VOL command will display the volume label and, if available, the volume
- serial number of a disk volume. If the disk doesn't have a volume label, VOL
- will report that it is "unlabeled." If you don't specify a drive, VOL
- displays information about the current drive:
-
- [c:\] vol
- Volume in drive C: is MYHARDDISK
-
- If available, the volume serial number will appear after the drive label or
- name.
-
- To display the disk labels for drives A and B:
-
- [c:\] vol a: b:
- Volume in drive A: is unlabeled
- Volume in drive B: is BACKUP_2
-
-
- ΓòÉΓòÉΓòÉ 14.81. VSCRPUT - Display text vertically and in color ΓòÉΓòÉΓòÉ
-
- Purpose: Display text vertically in the specified color.
-
- Format: VSCRPUT row col [BRIght] [BLInk] fg ON [BRIght] bg text
-
- row : Starting row number.
- col : Starting column number.
- fg : Foreground text color.
- bg : Background text color.
- text : The text to display.
-
- See also: SCRPUT.
-
- Usage
-
- VSCRPUT writes text vertically on the screen rather than horizontally. Like
- the SCRPUT command, it uses the colors you specify to write the text. VSCRPUT
- can be used for simple graphs and charts generated by batch files. It always
- leaves the cursor in its current position. See Colors and Color Names for
- details about colors and notes on the use of bright background colors.
-
- The row and column are zero-based, so on a standard 25 line by 80 column
- display, valid rows are 0 - 24 and valid columns are 0 - 79. You can also
- specify the row and column as offsets from the current cursor position. Begin
- the value with a plus sign [+] to move down the specified number of rows or to
- the right the specified number of columns before displaying text, or with a
- minus sign [-] to move up or to the left.
-
- VSCRPUT checks for a valid row and column, and displays a "Usage" error
- message if either value is out of range.
-
-
- ΓòÉΓòÉΓòÉ 14.82. WINDOW - Change the window state or title ΓòÉΓòÉΓòÉ
-
- Purpose: Minimize or maximize the current window, restore the default
- window size, or change the window title.
-
- Format: WINDOW [MIN | MAX | RESTORE | /POS=row,col,width,height | "title
- "]
-
- title : A new title for the window.
-
- /POS(ition)
-
- Usage
-
- WINDOW is used to control the appearance and title of the current window.
- WINDOW MIN reduces the window to an icon, WINDOW MAX enlarges it to its
- maximum size, and WINDOW RESTORE returns the window to its default size and
- location on the desktop.
-
- Only one WINDOW option can be used at a time. To make multiple changes in the
- window state (for example, to maximize the window and change its title) you
- must issue the WINDOW command once for each change.
-
- You can use the /POS option to set the location and size of the window on the
- desktop. The row and column values of the /POS option select the window's
- origin while the width and height values determine its size.
-
- If you specify a new title, the title text must be enclosed in double quotes.
- The quotes will not appear as part of the actual title.
-
- Only one WINDOW option can be used at a time. To make multiple changes in the
- window state (for example, to maximize the window and change its title) you
- must issue the WINDOW command once for each change.
-
- Option
-
- /POS: (Position) Set the window position and size on the screen. The
- syntax is /POS=row, col, width, height where the values are
- specified in pixels or pels. Row and col refer to the position of
- the bottom left corner of the window relative to the bottom left
- corner of the screen.
-
-
- ΓòÉΓòÉΓòÉ 14.83. Y - "Y" pipe fitting ΓòÉΓòÉΓòÉ
-
- Purpose: Copy standard input to standard output, and then copy the
- specified file(s) to standard output.
-
- Format: Y file ...
-
- file : The file or list of files to send to standard output.
-
- See also: TEE.
-
- Usage
-
- The Y command copies input from standard input (usually the keyboard) to
- standard output (usually the screen). Once the input ends, the named files
- are appended to standard output.
-
- For example, to get text from standard input, append the files MEMO1 and MEMO2
- to it, and send the output to MEMOS :
-
- [c:\] y memo1 memo2 > memos
-
- The Y command is most useful if you want to add redirected data to the
- beginning of a file instead of appending it to the end. For example, this
- command copies the output of DIR, followed by the contents of the file
- DIREND, to the file DIRALL:
-
- [c:\] dir | y dirend > dirall
-
- If you are typing at the keyboard to produce input text for Y, you must enter
- a Ctrl-Z to terminate the input.
-
- When using Y with a pipe you must take into account that the programs on the
- two ends of the pipe run simultaneously, not sequentially.
-
- See Piping for more information on pipes.
-
-
- ΓòÉΓòÉΓòÉ 15. Error Messages ΓòÉΓòÉΓòÉ
-
- This section lists error messages generated by 4OS2, and includes a recommended
- course of action for most errors. If you are unable to resolve the problem,
- look through your Introduction and Installation Guide for any additional
- troubleshooting recommendations, then contact JP Software for technical
- support.
-
- Error messages relating to files are generally reports of errors returned by
- OS/2. You may find some of these messages (for example, "Access denied") vague
- enough that they are not always helpful. 4OS2 includes the file name in file
- error messages, but is often unable to determine a more accurate explanation of
- these errors. The message shown is the best information available based on the
- error codes returned by OS/2.
-
- The following list includes all error messages, in alphabetical order:
-
- Access denied: You tried to write to or erase a read-only file, rename a file
- or directory to an existing name, create a directory that already exists,
- remove a read-only directory or a directory with files or subdirectories still
- in it, or access a file in use by another program in a multitasking system.
-
- Alias loop: An alias refers back to itself either directly or indirectly
- (i.e., a = b = a), or aliases are nested more than 16 deep. Correct your alias
- list.
-
- Bad disk unit: Generally caused by a disk drive hardware failure.
-
- Batch file missing: 4OS2 can't find the batch (.BTM or .CMD ) file it was
- running. It was either deleted, renamed, moved, or the disk was changed.
- Correct the problem and rerun the file.
-
- Can't copy file to itself: You cannot COPY or MOVE a file to itself. 4OS2
- performs full path and filename expansion before copying to ensure that files
- aren't inadvertently destroyed.
-
- Can't create: 4OS2 can't create the specified file. The disk may be full or
- write protected, or the file already exists and is read-only, or the root
- directory is full.
-
- Can't delete: 4OS2 can't delete the specified file or directory. The disk is
- probably write protected.
-
- Can't get directory: 4OS2 can't read the directory. The disk drive is
- probably not ready.
-
- Can't make directory entry: 4OS2 can't create the filename in the directory.
- This is usually caused by a full root directory. Create a subdirectory and move
- some of the files to it.
-
- Can't open: 4OS2 can't open the specified file. Either the file doesn't exist
- or the disk directory or File Allocation Table is damaged.
-
- Can't remove current directory: You attempted to remove the current directory,
- which OS/2 does not allow. Change to the parent directory and try again.
-
- Command line too long: A single command exceeded 1023 characters, or the
- entire command line exceeded 2047 characters, during alias and variable
- expansion. Reduce the complexity of the command or use a batch file. Also
- check for an alias which refers back to itself either directly or indirectly.
-
- Command only valid in batch file: You have tried to use a batch file command,
- like DO or GOSUB, from the command line or in an alias. A few commands can
- only be used in batch files (see the individual commands for details).
-
- Contents lost before copy: COPY was appending files, and found one of the
- source files is the same as the target. That source file is skipped, and
- appending continues with the next file.
-
- Data error: OS/2 can't read or write properly to the device. On a floppy
- drive, this error is usually caused by a defective floppy disk, dirty disk
- drive heads, or a misalignment between the heads on your drive and the drive on
- which the disk was created. On a hard drive, this error may indicate a drive
- that is too hot or too cold, or a hardware problem. Retry the operation; if it
- fails again, correct the hardware or diskette problem.
-
- Directory stack empty: POPD or DIRS can't find any entries in the directory
- stack.
-
- Disk is write protected: The disk cannot be written to. Check the disk and
- remove the write-protect tab or close the write- protect window if necessary.
-
- Drive not ready -- close door: The floppy disk drive door is open. Close the
- door and try again.
-
- Environment already saved: You have already saved the environment with a
- previous SETLOCAL command. You cannot nest SETLOCAL / ENDLOCAL pairs.
-
- Error in command-line directive: You used the //iniline option to place an
- 4OS2.INI directive on the startup command line, but the directive is in error.
- A more specific error message follows.
-
- Error on line [nnnn] of [filename]: There is an error in your 4OS2.INI file.
- The following message explains the error in more detail. Correct the line in
- error and restart 4OS2 for your change to take effect.
-
- Error reading: OS/2 experienced an I/O error when reading from a device. This
- is usually caused by a bad disk, a device not ready, or a hardware error.
-
- Error writing: OS/2 experienced an I/O error when writing to a device. This
- is usually caused by a full disk, a bad disk, a device not ready, or a hardware
- error.
-
- Exceeded batch nesting limit: You have attempted to nest batch files more than
- 10 levels deep.
-
- File Allocation Table bad: OS/2 can't access the FAT on the specified disk.
- This can be caused by a bad disk, a hardware error, or an unusual software
- interaction.
-
- File exists: The requested output file already exists, and 4OS2 won't
- overwrite it.
-
- File is empty: You attempted to use an empty file in @SELECT. Correct the
- file name or contents and try again.
-
- File not found: 4OS2 couldn't find the specified file. Check the spelling and
- path name.
-
- General failure: This is usually a hardware problem, particularly a disk drive
- failure or a device not properly connected to a serial or parallel port. Try
- to correct the problem, or reboot and try again. Also see Data error above;
- the problems described there can sometimes cause a general failure rather than
- a data error.
-
- Infinite COPY or MOVE loop: You tried to COPY or MOVE a directory to one of
- its own subdirectories and used the /S switch, so the command would run
- forever. Correct the command and try again.
-
- Insufficient disk space: COPY or MOVE ran out of room on the destination
- drive. Remove some files and retry the operation.
-
- Invalid character value: You gave an invalid value for a character directive
- in the 4OS2.INI file.
-
- Invalid choice value: You gave an invalid value for a "choice" directive (one
- that accepts a choice from a list, like "Yes" or "No") in the 4OS2.INI file.
-
- Invalid color: You gave an invalid value for a color directive in the 4OS2.INI
- file.
-
- Invalid date: An invalid date was entered. Check the syntax and reenter.
-
- Invalid directive name: 4OS2 can't recognize the name of a directive in your
- 4OS2.INI file.
-
- Invalid drive: A bad or non-existent disk drive was specified.
-
- Invalid key name: You tried to make an invalid key substitution in the
- 4OS2.INI file, or you used an invalid key name in a keystroke alias or command.
- Correct the error and retry the operation.
-
- Invalid numeric value: You gave an invalid value for a numeric directive in
- the 4OS2.INI file.
-
- Invalid parameter: 4OS2 didn't recognize a parameter. Check the syntax and
- spelling of the command you entered.
-
- Invalid path: The specified path does not exist. Check the disk specification
- and/or spelling.
-
- Invalid path or file name: You used an invalid path or filename in a directive
- in the 4OS2.INI file.
-
- Invalid time: An invalid time was entered. Check the syntax and reenter.
-
- Keystroke substitution table full: 4OS2 ran out of room to store keystroke
- substitutions entered in the 4OS2.INI file. Reduce the number of key
- substitutions or contact JP Software for assistance.
-
- Label not found: A GOTO or GOSUB referred to a non-existent label. Check your
- batch file.
-
- Missing ENDTEXT: A TEXT command is missing a matching ENDTEXT. Check the
- batch file.
-
- Missing GOSUB: 4OS2 cannot perform the RETURN command in a batch file. You
- tried to do a RETURN without a GOSUB, or your batch file has been corrupted.
-
- Missing SETLOCAL: An ENDLOCAL was used without a matching SETLOCAL.
-
- No aliases defined: You tried to display aliases but no aliases have been
- defined.
-
- No closing quote: 4OS2 couldn't find a second matching back quote [`] or
- double-quote ["] on the command line.
-
- No expression: The expression passed to the %@EVAL variable function is empty.
- Correct the expression and retry the operation.
-
- No room for INI file name: 4OS2 does not have enough space to pass the name of
- your 4OS2.INI file to secondary shells; see String area overflow for more
- details. Any [Secondary] section in 4OS2.INI will be ignored in secondary
- shells until the problem is corrected and the system or session is restarted.
-
- Not a windowed session: You tried to use the WINDOW command in a full-screen
- session. WINDOW is valid only in windowed sessions.
-
- Not an alias: The specified alias is not in the alias list.
-
- Not in environment: The specified variable is not in the environment.
-
- Not ready: The specified device can't be accessed.
-
- Not same device: This error usually appears in RENAME. You cannot rename a
- file to a different disk drive.
-
- Out of memory: 4OS2 or OS/2 had insufficient memory to execute the last
- command. Try to free some memory by closing other sessions. If the error
- persists, contact JP Software for assistance.
-
- Out of paper: OS/2 detected an out-of-paper condition on one of the printers
- (LPT1, LPT2, or LPT3). Check your printer and add paper if necessary.
-
- Overflow: An arithmetic overflow occurred in the %@EVAL variable function.
- Check the values being passed to %@EVAL. %@EVAL can handle 16 digits to the
- left of the decimal point and 8 to the right.
-
- Read error: OS/2 encountered a disk read error; usually caused by a bad or
- unformatted disk.
-
- Sector not found: Disk error, usually caused by a bad or unformatted disk.
-
- Seek error: OS/2 can't seek to the proper location on the disk. This is
- generally caused by a bad disk or drive.
-
- Sharing violation: You tried to access a file in use by another program in a
- multitasking system or on a network. Wait for the file to become available, or
- change your method of operation so that another program does not have the file
- open while you are trying to use it.
-
- String area overflow: 4OS2 ran out of room to store the text from string
- directives in the 4OS2.INI file. Reduce the complexity of the 4OS2.INI file or
- contact JP Software for assistance.
-
- Syntax error: A command or variable function was entered in an improper
- format. Check the syntax and correct the error.
-
- Too many open files: OS/2 has run out of file handles. Try increasing the
- FILES setting in CONFIG.SYS.
-
- Unbalanced parentheses: The number of left and right parentheses did not match
- in an expression passed to the %@EVAL variable function. Correct the
- expression and retry the operation.
-
- Unknown command: A command was entered that 4OS2 didn't recognize and couldn't
- find in the current search path. Check the spelling or PATH specification.
- You can handle unknown commands with the UNKNOWN_CMD alias (see ALIAS).
-
- Variable loop: A nested environment variable refers to itself, or variables
- are nested more than 16 deep. Correct the error and retry the command.
-
- Write error: OS/2 encountered a disk write error; usually caused by a bad or
- unformatted disk.
-
-
- ΓòÉΓòÉΓòÉ 16. Reference Tables ΓòÉΓòÉΓòÉ
-
- The reference tables in this section are based on U.S. English conventions.
- Your system may differ if it is configured for a different country or language.
- See your operating system documentation for more information about country and
- language support.
-
- To represent the text you type, computers must translate each letter to and
- from a number. The code used by all PC-compatible computers for this
- translation is called ASCII. Function keys, cursor keys, and Alt keys generate
- scan codes indicating which key was pressed, but not ASCII codes. The tables in
- this section cover both kinds of codes.
-
- For more information, see:
-
- ASCII Table
- Key Codes and Scan Codes Table
- Key Codes and Scan Codes Explanation
- ANSI Commands
-
-
- ΓòÉΓòÉΓòÉ 16.1. ASCII Table ΓòÉΓòÉΓòÉ
-
- Control Characters
-
- Dec Hex Chr Nam Ctl Γöé Dec Hex Chr Nam Ctl
- --- --- --- --- --- Γöé --- --- --- --- ---
- 000 00 NUL ^@ Γöé 016 10 DLE ^P
- 001 01 SOH ^A Γöé 017 11 DC1 ^Q
- 002 02 STX ^B Γöé 018 12 DC2 ^R
- 003 03 ETX ^C Γöé 019 13 DC3 ^S
- 004 04 EOT ^D Γöé 020 14 DC4 ^T
- 005 05 ENQ ^E Γöé 021 15 NAK ^U
- 006 06 ACK ^F Γöé 022 16 SYN ^V
- 007 07 BEL ^G Γöé 023 17 ETB ^W
- 008 08 BS ^H Γöé 024 18 CAN ^X
- 009 09 HT ^I Γöé 025 19 EM ^Y
- 010 0A LF ^J Γöé 026 1A SUB ^Z
- 011 0B VT ^K Γöé 027 1B ESC ^[
- 012 0C FF ^L Γöé 028 1C FS ^\
- 013 0D CR ^M Γöé 029 1D GS ^]
- 014 0E SO ^N Γöé 030 1E RS ^^
- 015 0F SI ^O Γöé 031 1F US ^_
-
- Punctuation, Digits, Upper Case
-
- Dec Hex Chr Γöé Dec Hex Chr Γöé Dec Hex Chr Γöé Dec Hex Chr
- --- --- --- Γöé --- --- --- Γöé --- --- --- Γöé --- --- ---
- 032 20 Γöé 048 30 0 Γöé 064 40 @ Γöé 080 50 P
- 033 21 ! Γöé 049 31 1 Γöé 065 41 A Γöé 081 51 Q
- 034 22 " Γöé 050 32 2 Γöé 066 42 B Γöé 082 52 R
- 035 23 # Γöé 051 33 3 Γöé 067 43 C Γöé 083 53 S
- 036 24 $ Γöé 052 34 4 Γöé 068 44 D Γöé 084 54 T
- 037 25 % Γöé 053 35 5 Γöé 069 45 E Γöé 085 55 U
- 038 26 & Γöé 054 36 6 Γöé 070 46 F Γöé 086 56 V
- 039 27 ' Γöé 055 37 7 Γöé 071 47 G Γöé 087 57 W
- 040 28 ( Γöé 056 38 8 Γöé 072 48 H Γöé 088 58 X
- 041 29 ) Γöé 057 39 9 Γöé 073 49 I Γöé 089 59 Y
- 042 2A * Γöé 058 3A : Γöé 074 4A J Γöé 090 5A Z
- 043 2B + Γöé 059 3B ; Γöé 075 4B K Γöé 091 5B [
- 044 2C , Γöé 060 3C < Γöé 076 4C L Γöé 092 5C \
- 045 2D - Γöé 061 3D = Γöé 077 4D M Γöé 093 5D ]
- 046 2E . Γöé 062 3E > Γöé 078 4E N Γöé 094 5E ^
- 047 2F / Γöé 063 3F ? Γöé 079 4F O Γöé 095 5F _
-
- Lower Case, Miscellaneous
-
- Dec Hex Chr Γöé Dec Hex Chr
- --- --- --- Γöé --- --- ---
- 096 60 ` Γöé 112 70 p
- 097 61 a Γöé 113 71 q
- 098 62 b Γöé 114 72 r
- 099 63 c Γöé 115 73 s
- 100 64 d Γöé 116 74 t
- 101 65 e Γöé 117 75 u
- 102 66 f Γöé 118 76 v
- 103 67 g Γöé 119 77 w
- 104 68 h Γöé 120 78 x
- 105 69 i Γöé 121 79 y
- 106 6A j Γöé 122 7A z
- 107 6B k Γöé 123 7B {
- 108 6C l Γöé 124 7C |
- 109 6D m Γöé 125 7D }
- 110 6E n Γöé 126 7E ~
- 111 6F o Γöé 127 7F
-
- International; Graphics Characters 1
-
- Dec Hex Chr Γöé Dec Hex Chr Γöé Dec Hex Chr Γöé Dec Hex Chr
- --- --- --- Γöé --- --- --- Γöé --- --- --- Γöé --- --- ---
- 128 80 А │ 144 90 Р │ 160 A0 а │ 176 B0 ░
- 129 81 Б │ 145 91 С │ 161 A1 б │ 177 B1 ▒
- 130 82 В │ 146 92 Т │ 162 A2 в │ 178 B2 ▓
- 131 83 Г │ 147 93 У │ 163 A3 г │ 179 B3 │
- 132 84 Д │ 148 94 Ф │ 164 A4 д │ 180 B4 ┤
- 133 85 Е │ 149 95 Х │ 165 A5 е │ 181 B5 ╡
- 134 86 Ж │ 150 96 Ц │ 166 A6 ж │ 182 B6 ╢
- 135 87 З │ 151 97 Ч │ 167 A7 з │ 183 B7 ╖
- 136 88 И │ 152 98 Ш │ 168 A8 и │ 184 B8 ╕
- 137 89 Й │ 153 99 Щ │ 169 A9 й │ 185 B9 ╣
- 138 8A К │ 154 9A Ъ │ 170 AA к │ 186 BA ║
- 139 8B Л │ 155 9B Ы │ 171 AB л │ 187 BB ╗
- 140 8C М │ 156 9C Ь │ 172 AC м │ 188 BC ╝
- 141 8D Н │ 157 9D Э │ 173 AD н │ 189 BD ╜
- 142 8E О │ 158 9E Ю │ 174 AE о │ 190 BE ╛
- 143 8F П │ 159 9F Я │ 175 AF п │ 191 BF ┐
-
- Graphics Characters 2; Symbols
-
- Dec Hex Chr Γöé Dec Hex Chr Γöé Dec Hex Chr Γöé Dec Hex Chr
- --- --- --- Γöé --- --- --- Γöé --- --- --- Γöé --- --- ---
- 192 C0 └ │ 208 D0 ╨ │ 224 E0 р │ 240 F0 Ё
- 193 C1 ┴ │ 209 D1 ╤ │ 225 E1 с │ 241 F1 ё
- 194 C2 ┬ │ 210 D2 ╥ │ 226 E2 т │ 242 F2 Є
- 195 C3 ├ │ 211 D3 ╙ │ 227 E3 у │ 243 F3 є
- 196 C4 ─ │ 212 D4 ╘ │ 228 E4 ф │ 244 F4 Ї
- 197 C5 ┼ │ 213 D5 ╒ │ 229 E5 х │ 245 F5 ї
- 198 C6 ╞ │ 214 D6 ╓ │ 230 E6 ц │ 246 F6 Ў
- 199 C7 ╟ │ 215 D7 ╫ │ 231 E7 ч │ 247 F7 ў
- 200 C8 ╚ │ 216 D8 ╪ │ 232 E8 ш │ 248 F8 °
- 201 C9 ╔ │ 217 D9 ┘ │ 233 E9 щ │ 249 F9 ∙
- 202 CA ╩ │ 218 DA ┌ │ 234 EA ъ │ 250 FA ·
- 203 CB ╦ │ 219 DB █ │ 235 EB ы │ 251 FB √
- 204 CC ╠ │ 220 DC ▄ │ 236 EC ь │ 252 FC №
- 205 CD ═ │ 221 DD ▌ │ 237 ED э │ 253 FD ¤
- 206 CE ╬ │ 222 DE ▐ │ 238 EE ю │ 254 FE ■
- 207 CF ╧ │ 223 DF ▀ │ 239 EF я │ 255 FF
-
-
- ΓòÉΓòÉΓòÉ 16.2. Key Codes and Scan Codes Table ΓòÉΓòÉΓòÉ
-
- (For more details on key codes and scan codes, see the Key Codes and Scan Codes
- Explanation.)
-
- Key names prefaced by np are on the numeric keypad. Those prefaced by cp are
- on the cursor keypad between the main typing keys and the number keypad. The
- numeric keypad values are valid if Num Lock is turned off. If you need to
- specify a number key from the numeric keypad, use the scan code shown for the
- keypad and the ASCII code shown for the corresponding typewriter key. For
- example, the keypad "7" has a scan code of 71 (the np Home scan code) and an
- ASCII code of 54 (the ASCII code for "7").
-
- The chart is blank for key combinations that do not have scan codes or ASCII
- codes, like Ctrl-1 or Alt-PgUp.
-
-
- Top Two Keyboard Rows
-
- Shift Shift Ctrl Ctrl Alt
- Scan ASCII Scan ASCII Scan ASCII Scan
- Key Code Code Code Code Code Code Code
-
- Esc 1 27 1 27 1 27 1
- 1 ! 2 49 2 33 120
- 2 @ 3 50 3 64 3 0 121
- 3 # 4 51 4 35 122
- 4 $ 5 52 5 36 123
- 5 % 6 53 6 37 124
- 6 ^ 7 54 7 94 7 30 125
- 7 & 8 55 8 38 126
- 8 * 9 56 9 42 127
- 9 ( 10 57 10 40 128
- 0 ) 11 48 11 41 129
- - _ 12 45 12 95 12 31 130
- = + 13 61 13 43 131
- Backspace 14 8 14 8 14 127 14
- Tab 15 9 15 0 148 0 165
- Q 16 113 16 81 16 17 16
- W 17 119 17 87 17 23 17
- E 18 101 18 69 18 5 18
- R 19 114 19 82 19 18 19
- T 20 116 20 84 20 20 20
- Y 21 121 21 89 21 25 21
- U 22 117 22 85 22 21 22
- I 23 105 23 73 23 9 23
- O 24 111 24 79 24 15 24
- P 25 112 25 80 25 16 25
- [ { 26 91 26 123 26 27 26
- ] } 27 93 27 125 27 29 27
- Enter 28 13 28 13 28 10 28
-
-
- Bottom Two Keyboard Rows
-
- Shift Shift Ctrl Ctrl Alt
- Scan ASCII Scan ASCII Scan ASCII Scan
- Key Code Code Code Code Code Code Code
-
- A 30 97 30 65 30 1 30
- S 31 115 31 83 31 19 31
- D 32 100 32 68 32 4 32
- F 33 102 33 70 33 6 33
- G 34 103 34 71 34 7 34
- H 35 104 35 72 35 8 35
- J 36 106 36 74 36 10 36
- K 37 107 37 75 37 11 37
- L 38 108 38 76 38 12 38
- ; : 39 59 39 58 39
- ' " 40 39 40 34 40
- ` ~ 41 96 41 126 41
- \ | 43 92 43 124 43 28 43
- Z 44 122 44 90 44 26 44
- X 45 120 45 88 45 24 45
- C 46 99 46 67 46 3 46
- V 47 118 47 86 47 22 47
- B 48 98 48 66 48 2 48
- N 49 110 49 78 49 14 49
- M 50 109 50 77 50 13 50
- , < 51 44 51 60 51
- . > 52 46 52 62 52
- / ? 53 47 53 63 53
- Space 57 32 57 32 57 32 57
-
-
- Key Pads and Function Keys
-
- Shift Shift Ctrl Ctrl Alt
- Scan ASCII Scan ASCII Scan ASCII Scan
- Key Code Code Code Code Code Code Code
-
-
- F1 59 0 84 0 94 0 104
- F2 60 0 85 0 95 0 105
- F3 61 0 86 0 96 0 106
- F4 62 0 87 0 97 0 107
- F5 63 0 88 0 98 0 108
- F6 64 0 89 0 99 0 109
- F7 65 0 90 0 100 0 110
- F8 66 0 91 0 101 0 111
- F9 67 0 92 0 102 0 112
- F10 68 0 93 0 103 0 113
- F11 133 0 135 0 137 0 139
- F12 134 0 136 0 138 0 140
- np * 55 42 55 42 150 0 55
- np Home 71 0 71 55 119 0
- cp Home 71 224 71 224 119 224 151
- np Up 72 0 72 56 141 0
- cp Up 72 224 72 224 141 224 152
- np PgUp 73 0 73 57 132 0
- cp PgUp 73 224 73 224 132 224 153
- np Minus 74 45 74 45 142 0 74
- np Left 75 0 75 52 115 0
- cp Left 75 224 75 224 115 224 155
- np 5 76 0 76 53 143 0
- np Right 77 0 77 54 116 0
- cp Right 77 224 77 224 116 224 157
- np Plus 78 43 78 43 144 0 78
- np End 79 0 79 49 117 0
- cp End 79 224 79 224 117 224 159
- np Down 80 0 80 50 145 0
- cp Down 80 224 80 224 145 224 160
- np PgDn 81 0 81 51 118 0
- cp PgDn 81 224 81 224 118 224 161
- np Ins 82 0 82 48 146 0
- cp Ins 82 224 82 224 146 224 162
- np Del 83 0 83 46 147 0
- cp Del 83 224 83 224 147 224 163
- np / 224 47 224 47 149 0 164
- np Enter 224 13 224 13 224 10 166
-
-
- ΓòÉΓòÉΓòÉ 16.3. Key Codes and Scan Codes Explanation ΓòÉΓòÉΓòÉ
-
- (This section explains how key codes and scan codes work. For a reference
- chart, see the Key Codes and Scan Codes Table.)
-
- When you press a single key or a key combination, OS/2 translates your
- keystroke into two numbers: a scan code, representing the actual key that was
- pressed, and an ASCII code, representing the ASCII value for that key. OS/2
- returns these numbers the next time a program requests keyboard input. This
- section explains how key codes work; for information on using them with 4OS2
- see the 4OS2.INI file key mapping directives, keystroke aliases, and INKEY.
-
- Most 4OS2 commands that use the numeric key codes listed here also use key
- names, which are usually more convenient to use than the numeric codes. See
- Keys and Key Names for more information on key names.
-
- As PCs have evolved, the structure of keyboard codes has evolved somewhat
- haphazardly with them, resulting in a bewildering array of possible key codes.
- We'll give you a basic explanation of how key codes work. For a more in-depth
- discussion, refer to a BIOS or PC hardware reference manual.
-
- The nuances of how your keyboard behaves depends on the keyboard manufacturer,
- the computer manufacturer who provides the built-in BIOS, and your operating
- system. As a result, we can't guarantee the accuracy of the information in the
- tables for every system, but the discussion and reference table should be
- accurate for most systems. Our discussion is based on the 101-key "enhanced"
- keyboard commonly used on 286, 386, 486, and Pentium computers, but virtually
- all of it is applicable to the 84-key keyboards on older systems. The primary
- difference is that older keyboards lack a separate cursor pad and only have 10
- function keys.
-
- All keys have a scan code, but not all have an ASCII code. For example,
- function keys and cursor keys are not part of the ASCII character set and have
- no ASCII value, but they do have a scan code. Some keys have more than one
- ASCII code. The A, for example, has ASCII code 97 (lower case "a") if you
- press it by itself. If you press it along with Shift, the ASCII code changes
- to 65 (upper case "A"). If you press Ctrl and A the ASCII code changes to 1.
- In all these cases, the scan code (30) is unchanged because you are pressing
- the same physical key.
-
- Things are different if you press Alt-A. Alt keystrokes have no ASCII code, so
- OS/2 returns an ASCII code of 0, along with the A key's scan code of 30. This
- allows a program to detect all the possible variations of A, based on the
- combination of ASCII code and scan code.
-
- Some keys generate more than one scan code depending on whether Shift, Ctrl, or
- Alt is pressed. This allows a program to differentiate between two different
- keystrokes on the same key, neither of which has a corresponding ASCII value.
- For example, F1 has no ASCII value so it returns an ASCII code of 0, and the F1
- scan code of 59. Shift-F1 also returns an ASCII code 0; if it also returned a
- scan code of 59, a program couldn't distinguish it from F1. The operating
- system translates scan codes for keys like Shift-F1 (and Ctrl-F1 and Alt-F1) so
- that each variation returns a different scan code along with an ASCII code of
- 0.
-
- On the 101-key keyboard there's one more variation: non-ASCII keys on the
- cursor keypad (such as up-arrow) return the same scan code as the corresponding
- key on the numeric keypad, for compatibility reasons. If they also returned an
- ASCII code of 0, a program couldn't tell which key was pressed. Therefore,
- these keys return an ASCII code of 224 rather than 0. This means that older
- programs, which only look for an ASCII 0 to indicate a non-ASCII keystroke like
- up-arrow, may not detect these cursor pad keys properly.
-
- The number of different codes returned by any given key varies from one (for
- the spacebar) to four, depending on the key, the design of your keyboard, and
- the operating system. Some keys, like Alt, Ctrl, and Shift by themselves or in
- combination with each other, plus Print Screen, SysReq, Scroll Lock, Pause,
- Break, Num Lock, and Caps Lock keys, do not have any code representations at
- all. The same is true of keystrokes with more than one modifying key, like
- Ctrl-Shift-A. The operating system may perform special actions automatically
- when you press these keys (for example, it switches into Caps Lock mode when
- you press Caps Lock), but it does not report the keystrokes to whatever program
- is running. Programs which detect such keystrokes access the keyboard hardware
- directly, a subject which is beyond the scope of this manual.
-
-
- ΓòÉΓòÉΓòÉ 16.4. ANSI ΓòÉΓòÉΓòÉ
-
- This section is a quick-reference to commonly-used ANSI commands.
-
- An ANSI command string consists of three parts:
-
- ESC[ The ASCII character ESC, followed by a left
- bracket. These two characters must be present in
- all ANSI strings.
- parameters Optional parameters for the command. If there are
- multiple parameters they are separated by
- semicolons.
- cmd A single-letter command. The case of the letter IS
- meaningful.
-
- For example, to position the cursor to row 7, column 12 the ANSI command is:
-
- ESC[7;12H
-
- To transmit ANSI commands to the screen with 4OS2, you should use the ECHO
- command. The ESC character can be generated by inserting it into the string
- directly (if you are putting the string in a batch file and your editor will
- insert such a character), or by using 4OS2's internal "escape" character
- (caret, [^]) followed by a lower-case "e". For example, the sequence shown
- above could be transmitted from a batch file with either of these commands
- (the first uses an ESC character directly; the second uses ^e):
-
- echo 2H
- echo ^e[7;12H
-
- You can also include ANSI commands in your prompt, using $e to transmit the
- ESC character. You can NOT use PROMPT to transmit ANSI commands to the screen
- from a batch file (see PROMPT).
-
- Commands
-
- ESC[rowsA Cursor up
- ESC[rowsB Cursor down
- ESC[colsC Cursor right
- ESC[colsD Cursor left
- ESC[row;colH Set cursor position (top left is row 1, column
- 1)
- ESC[2J Clear screen
- ESC[K Clear from cursor to end of line
- ESC[row;colf Set cursor position, same as "H" command
- ESC[attr;attr;...m Set display attributes; see table of attribute
- values below
- ESC[s Save cursor position (may not be nested)
- ESC[u Restore cursor position after a save
-
- Display Attributes
-
- 0 All attributes off (normal white on black)
- 1 High intensity (bold)
- 2 Normal intensity
- 4 Underline (usually effective only on monochrome displays)
- 5 Blinking
- 7 Reverse Video
- 8 Invisible
- 30-37 Set the foreground color:
- 30=Black 31=Red 32=Green 33=Yellow
- 34=Blue 35=Magenta 36=Cyan 37=White
- 40-47 Set the background color, same values as above but
- substitute 40 for 30 etc.
-
- Settings are cumulative, so (for example) to set bright red foreground set all
- attributes off, then set red, then bold, use:
-
- echo ^e[0;31;1m
-
- Examples
-
- Clear the display attributes, then set the display to bright cyan on blue, and
- clear the screen:
-
- echo ^e[0;44;36;1m^e[2J
-
- Set up a prompt which saves the cursor position, displays the 4DOS shell
- level, date, and time on the top line in bright white on magenta, and then
- restores the cursor position and sets the color to bright cyan on blue, and
- displays the standard prompt:
-
- prompt $e[s$e[1;1f$e[0;45;37;1m$e[K($z) $d $t$e[u$e[0;44;36;1m$p$g
-
-
- ΓòÉΓòÉΓòÉ 17. Support ΓòÉΓòÉΓòÉ
-
- You can contact JP Software at any of the following addresses. Our normal
- business hours are 9:00 AM to 5:00 PM weekdays, eastern US time.
-
- By mail:
-
- JP Software Inc.
- P.O. Box 1470
- East Arlington, MA 02174
- USA
-
- By telephone / fax:
-
- Voice (617) 646-3975
- Fax (617) 646-0904
- Order Line (800) 368-8777 (orders only, USA only)
-
- Electronically:
-
- CompuServe Customer Service 75020,244
- Technical Support, GO JPSOFT or GO PCVENB (section 10),
- User ID 75300,1215
- Internet Customer Service 75020.244@compuserve.com
- Technical Support 75300.1215@compuserve.com
- BBS Support Via Channel 1 BBS, Boston, 617-354-5776 at 2,400 -
- 14,400 baud, no parity, 8 data bits, 1 stop bit.
-
- Technical support is available via public electronic support conferences,
- private electronic mail, telephone, fax, and mail.
-
- Often the best way to contact us for support is in one of the following public
- electronic support conferences. The numbers in parentheses indicate the usual
- delay, in business days, to receive a reply to a message.
-
- CompuServe / ZiffNet: Primary support is via the JP Software section of the
- CompuServe PCVENB forum (GO JPSOFT or GO PCVENB, section 10, "JP Software") (1
- day).
-
- Bulletin Boards: Primary support is via the Channel 1 BBS, Boston, MA (1 - 3
- days; see above for access details). Messages may be left in any of the
- "4DOS" conferences; check the online list for exact conference numbers.
- Support is also available from many local BBSes via the "4DOS" conferences on
- the RIME, ILink, SmartNet, and FidoNet BBS Networks (3-5 days).
-
- Before contacting us for support, please check the manuals and other
- documentation for answers to your question. If you can't find what you need,
- try the Index. If you're having trouble getting 4OS2 to run properly, either
- alone or with your particular hardware or software, see the Introduction and
- Installation Guide, and the APPNOTES.DOC file. Also look through the
- README.DOC and UPDATxxx.DOC files, as they may contain updates to the manual
- or other important information ("xxx" is the version number).
-
- If you do need to contact us for support, it helps if you can give us some
- basic information:
-
- * What exactly did you do? A concise description of what steps you must
- take to make the problem appear is much more useful than a long
- analysis of what might be happening.
-
- * What went wrong? At what point did the failure occur? If you saw an
- error message or other important or unusual information on the screen,
- what exactly did it say?
-
- * Briefly, what techniques did you use to try to resolve the problem?
- What results did you get?
-
- * What computer and operating system version are you using?
-
- * Are you running a network? If so, which one, and which version?
-
- * What are the contents of any startup files you use (such as CONFIG.SYS,
- 4START, 4EXIT, and 4OS2.INI ), any batch files they call, and any alias
- or environment variable files they load?
-
- * Can you repeat the problem or does it occur randomly? If it's random,
- does it seem related to the programs you're using when the problem
- occurs?
-