Version 1.01
Copyright (c) 1991-1992
Darrell W. Burgan
All Rights Reserved
IMPOSTER
Chapter 1 - Introduction
Thank you for your interest in IMPOSTER. This is my first publicly available program for Microsoft Windows; I hope you find it a useful addition to your library of Windows applications.
Please read the following sections carefully, as they provide important information about using and distributing IMPOSTER without violating my copyrights.
Freeware
If you are unfamiliar with freeware, it is simply an alternative distribution channel for quality software. You are allowed to use and distribute freeware products without restriction.
Freeware is not public domain, however. Public domain software generally places the source code as well as the executable product into the hands of the public. Freeware, however, places only the executable. The author still retains copyrights on the source code. This means that though you are free to use and distribute a freeware product, you cannot modify it, sell it or use it in any other way except how the author intended it.
Terms of Use and Distribution
IMPOSTER is offered as freeware. This means you are free to pass it on to your friends, to post it on bulletin boards and other online services or otherwise distribute it as long as you abide by the following terms:
- You distribute all files associated with IMPOSTER exactly as you initially received them. The only way to ensure this is to distribute only the archive it initially came in.
- You do not modify, reverse engineer, add to, or otherwise change the product. If you want to develop enhancements or discover problems with the product, please contact me as described in the technical support section.
- You do not distribute IMPOSTER in conjunction with any product for which anyone will derive profit without my prior written consent.
- You do not charge for the distribution of IMPOSTER, except for a nominal disk-handling fee not to exceed five U.S. dollars per disk.
Also, please read the following notice carefully:
THIS PRODUCT, CALLED IMPOSTER, IS OFFERRED ON AN AS-IS BASIS. NO WARRANTIES OF FITNESS OR MERCHANTIBILITY, EXPRESS OR IMPLIED, ARE GIVEN. NO OTHER WARRANTIES OF ANY KIND ARE GIVEN.
UNDER NO CIRCUMSTANCES WILL THE DEVELOPER, DARRELL BURGAN, BE HELD LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL OR ANY OTHER DAMAGES CAUSED BY ANYTHING THIS PRODUCT DOES OR FAILS TO DO.
THE USER BEARS THE FULL RESPONSIBILITY FOR VERIFYING THIS PRODUCT IS RELIABLE AND WORKS TO THEIR SATISFACTION.
IF YOU CANNOT ACCEPT THESE TERMS OR ANY OTHER TERMS SPECIFIED IN THIS DOCUMENT, PLEASE DO NOT USE THIS SOFTWARE. BY USING THIS SOFTWARE, YOU INDICATE YOU AGREE WITH THESE TERMS AND WILL ABIDE BY THEIR RESTRICTIONS.
Sorry to offer the product under such terms, but I am a one-man development team and simply do not have the resources to adequately warrant this product. Since I am not charging you for the use of this product, I don't think this is unfair.
Still, I have to the best of my abilities verified that this product is substantially bug-free and will work on standard Windows platforms. I just cannot guarantee it will work properly under all circumstances or that any bugs haven't escaped my attention.
Registration
In return for allowing you to use IMPOSTER free, I simply ask that you "register" your copy. Unlike with shareware, registering IMPOSTER simply means you are letting me know you are using the product, are interested in other products that might be released, and agree to the terms of use and distribution. There is no cost whatsoever associated with registering IMPOSTER. When you register:
- You will be placed on my electronic mailing list and informed of any new products/versions prior to public release. I may also attempt to keep anyone notified via U.S. Post that has no access to an electronic mail service, but I cannot guarantee this due to the potential cost.
- And you will encourage me to continue to develop useful tools for Windows and make them publicly available via freeware.
I strongly encourage everyone who uses IMPOSTER and finds it useful to register, just so I can keep track of the success of this product.
To register, simply photocopy the following page, fill out the form, sign the form (indicating you agree to abide by the terms of use and distribution) and send it to the specified address.
If you like, you can also register electronically by sending me email via any of the three electronic technical support mechanisms. Just be sure to include the same information as on the form. REMEMBER: If you register electronically, you are implicitly agreeing to abide by the terms of use and distribution and accept their legal restrictions.
Thanks in advance, if you decide to register.
Imposter Registration
Send to: Darrell Burgan
6400 Independence Parkway Suite 4103
Plano, TX 75023
Suggestions for Enhancements:
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
Technical Support
If you should encounter problems, if you have suggestions for improvements, or if you just want to talk Windows, you can contact me any of the following ways:
- The Digital X-Connect BBS - 214-517-8443. This is the official distribution site for IMPOSTER and the preferred mechanism for contacting me. Just send mail to the SYSOP, to ALL, or to Darrell Burgan in the IMPOSTER Conference and I'll be there to help you!
- CompuServe - Send mail to 73020,1023.
- America Online - Send mail to DarrellB.
- US Post. Send it to the following address:
Darrell Burgan
6400 Independence Suite 4103
Plano, TX 75023
Since electronic correspondence is much quicker and less expensive, I strongly discourage regular mail unless you simply don't have access to a modem. I also cannot guarantee responses to messages sent this way.
I will provide technical support and answer questions to anyone using any of my products. One of the things I have learned in my years in the computer business is that good support is often worth as much as the benefit of using a good product. It is my goal to provide the best possible technical support to all users of my products. If your question may not be directly related to one of my products, you should still feel free to contact me and I will help you to the best of my abilities.
I will attempt to respond to all queries within 24 hours of receipt, but cannot guarantee that this will always be possible (I go on vacation every now and then, too). If you have an urgent question, your best bet is to send the question via all three electronic mail services listed above.
I am not currently offering voice technical support. If, however, you need a voice phone number to be able to register the product, contact me via email and we can make appropriate arrangements.
Credits
Someone once said we stand on the shoulders of those who came before us, and I am certainly no different.
Many, many thanks are due to:
- Andy Walding of the Digital X-Connect BBS for providing a support mechanism for
IMPOSTER and outstanding advice on advertising and distributing this product. If you're
looking for a good technical BBS with active file and message bases, look no farther--the
X-Connect is for you.
- Neil Rubenking and the members of Team Borland on CompuServe for their outstanding
TPW advice and assistance.
- Borland International for making Turbo Pascal a reality under Windows. If you've been
writing Windows apps using the usual Microsoft tools, take a look at TPW--once you've
tried it, you'll never go back.
Dedication
Last I want to dedicate this product to my son Reese Gilbert, who is the source of much of my inspiration, joy, and heartburn (after all, he's in his terrible two's). Children are truly a gift from above.
Chapter 2 - IMPOSTER
What is IMPOSTER and why did I create it? Put simply, IMPOSTER is a DOS command interpreter that attempts to closely mimic COMMAND.COM. Using IMPOSTER allows you to use Windows as a superior operating system but retain all the familiarity and utility of the DOS command line.
IMPOSTER supports to some degree the entire internal DOS command set, as well as most of the external commands defined in DOS 5.0. When you're using IMPOSTER, it's easy to forget that you're NOT running a DOS program at all--just a carefully designed Windows application that emulates DOS as closely as possible.
Why Use IMPOSTER?
Why not just run COMMAND.COM in a window? Well, that works okay if you can run Windows in 386 Enhanced Mode, but some of us poor grunts are still trying to use our 286-class machines with Windows. IMPOSTER works just as well in Standard Mode as in Enhanced Mode, and IMPOSTER can even run in Real Mode for 8086-class diehards.
IMPOSTER also offers a lot of features that just can't easily be duplicated from running COMMAND.COM in a window:
- Is optionally able to run DOS or Windows applications from the command line, just like in DOS. Can execute .PIF files in exchange for .EXEs or .COMs if configured properly. COMMAND.COM simply can't do this at all.
- Fully supports the WIN.INI file extension associations to allow you to bring up an application just by typing the name of one of its documents. Again, COMMAND.COM just cannot accomplish this.
- Provides a much-needed mechanism for running batch files under Windows. When IMPOSTER runs a batch file, it can run Windows apps along with DOS apps, can execute any of the IMPOSTER internal commands, can utilize IMPOSTER's extended batch commands, etc. COMMAND.COM runs DOS batch files, accesses DOS apps and that's about it.
- Greatly reduced memory consumption. Now you can afford to have a DOS command-line available at all times, even while running other memory-hungry applications. You can even run several instances of the command line simultaneously without eating megabytes of RAM. And Windows can actually "borrow" memory from IMPOSTER if space gets tight. COMMAND.COM eats a minimum of 256K of RAM, for every single instance, and Windows can't get any of it back until you exit COMMAND.COM!
- Superior multitasking. Since IMPOSTER is a true Windows application, it doesn't depend on the somewhat risky time-slice multitasking of DOS windows in 386 enhanced mode. Ever try to run two or three DOS windows simultaneously? Not only does your whole system slow down, but strange things begin to happen if the system is really pushed hard. IMPOSTER is able to detect when things are going on in other processes and wait until the system is idle to continue processing. The result? Much smoother and safer multitasking.
- Program Manager replacement. IMPOSTER can serve as a fully functional Windows shell, replacing the Program Manager at startup. For DOS fanatics like me, this makes Windows' pretty-but-not-very-efficient interface more than just merely tolerable. This of course is impossible with COMMAND.COM.
- Supports nearly every internal DOS commands, several external DOS commands, several of the DOS Burgan Utilities commands and several Norton Utilities commands. You need the Norton Utilities to do this with COMMAND.COM.
Being a command-line fanatic myself, I feel IMPOSTER offers the best of both worlds--a DOS command line for speed and Windows for access to graphics and superior applications. All those icons just clutter up the screen, in my view. Of course, you can use the Program Manager or any other shell, if that is your preference, and use IMPOSTER simply as a regular Windows application.
Installation
Installing IMPOSTER is a fairly simple task:
- First make sure you have the IMPOSTER.EXE, IMPOSTER.ALS, IMPOSTER.WRI and IMPOSTER.HLP files available. It is also generally a good idea to scan any files for viruses before you install them on your PC, if you have not done so already.
- Copy IMPOSTER.EXE, IMPOSTER.ALS, IMPOSTER.WRI and IMPOSTER.HLP to any directory on your path. The Windows directory will work fine. NOTE: IMPOSTER must be on your path to work properly, especially if you intend to use IMPOSTER as the Windows shell!
- Last, run IMPOSTER.EXE and bring up the Preferences dialog box. Make any changes you like, then press the "OK" button. This will make the following changes for you automatically:
- The default order of the PROGRAMS= line in your WIN.INI is not very convenient for IMPOSTER use. IMPOSTER changes them from:
Programs=com exe bat pif
To:
Programs=pif exe com bat
- If you wish to use IMPOSTER as your Windows shell, IMPOSTER will edit the SYSTEM.INI file and change the SHELL= line from:
Shell=PROGMAN.EXE
To:
Shell=IMPOSTER.EXE
It will also add a new line to the [IMPOSTER] section of WIN.INI:
OldShell=[shellname]
IMPOSTER uses this to put your old Windows shell back if you choose for IMPOSTER to no longer be the Windows shell.
- IMPOSTER will add the following line to the [Extensions] section of your WIN.INI:
IPS=IMPOSTER.EXE ^.IPS
Adding this line is important because it allows you to run IMPOSTER batch files from the LOAD= or RUN= lines of your WIN.INI, even when IMPOSTER is not the shell. If IMPOSTER is the shell, then you are free to run .BAT or .IPS scripts from WIN.INI.
- IMPOSTER will finally add the following lines to your WIN.INI at the bottom:
Depending on what preferences you entered, the values for these WIN.INI keywords may vary.
And that's all there is to installing IMPOSTER!
WIN.INI Settings
Just so you know what's going on, the following information documents the WIN.INI settings IMPOSTER uses.
HorizontalSize=xx
Specifies the width of the virtual screen in characters. The default is 80 if this setting is not supplied. The maximum allowed is 132. This does not affect the initial size of the IMPOSTER window, only how wide the screen is logically before line wrap occurs.
VerticalSize=xx
Specifies the height of the virtual screen in lines. The default is 25 if this setting is not supplied. Also, the maximum here is 256 as well. Again, this only affects the logical screen size (how many lines before scrolling occurs), not the initial height of the IMPOSTER window. This can be a useful parameter to set fairly high (e.g. 99 lines), to allow you to see more of what you have recently done.
Also note that the horizontal size x vertical size cannot exceed 32767; if you attempt settings that exceed this limit, IMPOSTER will assume 80x25.
ForegroundColor=xxxxxxx
Specifies the foreground color to use in IMPOSTER. Possible choices are BLUE, RED, GREEN, PURPLE, CYAN, WHITE, YELLOW, GRAY, BROWN, BLACK or MAGENTA. The default color is GRAY. If you specify anything else, IMPOSTER will assume GRAY. Note that due to the way Windows maps colors to the output device, some colors may only be close to what you specify. For example, on some EGA monitors PURPLE is actually displayed as a shade of blue.
BackgroundColor=xxxxxxx
Specifies the background color to use in IMPOSTER. Possible choices are also BLUE, RED, GREEN, PURPLE, CYAN, WHITE, YELLOW, GRAY, BROWN, BLACK or MAGENTA. The default color is BLACK. If you specify anything else, IMPOSTER will assume BLACK. Again, color mapping is approximate due to the color mapping approach Windows uses.
StartupCommand=xxxxxxxxxx
Specifies a command that is always to be executed upon startup of IMPOSTER. For example, if you always want a prompt that contains the current time only, you could say "StartupCommand=PROMPT $t$g" and receive a prompt that looks something like "11:33:25.03>". Or you could say "WINDOW MAXIMIZE" and IMPOSTER will always start in the maximized state. You can also run batch files or any other IMPOSTER command from this line, allowing you to implement something similar to an AUTOEXEC.BAT for your IMPOSTER instances. Bear in mind, however, that the startup command is executed every time you start IMPOSTER, even if you run multiple instances.
LastShell=xxxxxxxxxx
Specifies what the previous Windows shell was, in case you no longer want IMPOSTER to be the Windows shell. If you never selected IMPOSTER to be the Windows shell, this line may not appear. If you delete this line and then no longer want IMPOSTER to be the shell, IMPOSTER will warn you and assume that Program Manager is the new shell.
Font=xxxxxxxxxx
Specifies what font you wish to use in the IMPOSTER window. It is a good idea to use one of the OEM fonts unless you just plain hate them, since extended ASCII characters are represented properly in this font. If your batch files use extended ASCII characters and you select a different font, you may see international language characters instead of what you expect.
MinimizeOnUse=x
Indicates if IMPOSTER should minimize itself whenever another application is launched. If this parameter is set to 1, IMPOSTER will minimize itself upon a program launch; if this parameter is set to 0, it will not. This WIN.INI parameter is actually controlled through the "Minimize On Use" menuitem, not the Preferences box.
InitialFocus=x
Indicates if IMPOSTER should always bring the focus to itself upon startup. If the value of the parameter is 1, it will autofocus; if it is 0, it will not.
ConfirmWindowsExit=x
Indicates if IMPOSTER should ask before exiting Windows. If the value of the parameter is 1, it will ask; if it is 0, it will not.
EnableHotkey=x
Indicates if IMPOSTER should use a certain key combination as a "hotkey" to bring the focus to the IMPOSTER window. If the value of the parameter is 1, IMPOSTER will watch for a hotkey event; if it is 0, it will not.
IgnoreHotKey=x
Indicates if IMPOSTER should ignore the hotkey whenever pressed. If the value of the parameter is 1, it will ignore the hotkey; if it is 0, it will not. This switch has no meaning if hotkey processing is not enabled.
HotkeyIndex=x
Indicates which keystroek IMPOSTER will use as the hotkey. Refers to an internal key table.
ControlKey=x
Indicates if the hotkey keystroke only is used if the key is pressed simultaneously. If the value of the parameter is 1, IMPOSTER will require to be pressed; if it is 0, it will not.
ShiftKey=x
Indicates if the hotkey keystroke only is used if the key is pressed simultaneously. If the value of the parameter is 1, IMPOSTER will require to be pressed; if it is 0, it will not.
AltKey=x
Indicates if the hotkey keystroke only is used if the key is pressed simultaneously. If the value of the parameter is 1, IMPOSTER will require to be pressed; if it is 0, it will not.
CommandDelimiter=x
Indicates what character will serve as the delimiter between multiple commands on a command-line. The default is the caret character ('^').
DefaultCmdShow=x
Indicates the default initial state for applications launched by IMPOSTER. A '0' will launch applications hidden, '1' will launch applications minimized, a '2' will launch applications normally and a '3' will launch applications maximized.
These flags indicate the saved dimensions of the IMPOSTER window, in screen coordinates (pixels).
Console Control Keys
IMPOSTER supports a large number of console control and editing keys. In general, the following keys are always supported:
Cancels the command you just executed. Has no effect when the command-line is idle. Pauses screen output of any command. Also has no effect when the command-line is idle. Resumes screen output following a . Has no effect otherwise. Note that after pressing , any key except will resume screen output.
Many additional keys are also supported when the command-line is idle and accepting input:
Erases anything input and returns the cursor to the start of the input line. Moves the cursor one character to the right. Moves the cursor one character to the left. Moves the cursor one word to the right. Moves the cursor one word to the left. Returns the cursor to the start of the input line. Moves the cursor to the end of the last word in the input line.
Toggles insert/overstrike mode. Deletes the character pointed to by the cursor. Deletes the character to the left of the cursor. Submits the command-line to IMPOSTER for processing. Submits the command-line to IMPOSTER for processing; if your command is to launch another program, that program will start maximized. If your command is an internal IMPOSTER command, it has no other effect. Submits the command-line to IMPOSTER for processing; if your command is to launch another program, that program will start minimized. If your command is an internal IMPOSTER command, it has no other effect.
Several keys are also supported to implement command history/recall:
Recalls the last command you executed. If you have not executed a command yet, has no effect. Recalls the most recent/previous command in the command history ring buffer. Pressing several times will show you the last several commands you executed, in reverse order. Recalls the least recent/next command still stored in the command history ring buffer. Pressing several times will show you the commands you executed, in order. Note that the command history ring buffer can store only the last 16 commands you've entered.
Last, the mouse is used as a "short-cut" to typing in a command by pointing to a word visible on the screen:
Copies the word to which you are pointing to the command-line. This can be useful, for example, for the COPY command. Copies the word to which you are pointing to the command-line and executes the command-line. This can be used to point to a filename on the screen and execute it by double-clicking.
Hot Keys
IMPOSTER also supports a single "hot key", which can be used to bring IMPOSTER into the foreground, then put it back into its previous state.
For example, if you are currently in your favorite word processor but need to quickly copy a file to a floppy, you simply need to hit the IMPOSTER hot key. This will pop IMPOSTER up over the word processor and allow you to enter whatever IMPOSTER commands you like. Pressing the hot key again will bring your word processor back into the foreground and put IMPOSTER back where it was before.
You can select the hot key IMPOSTER will use from the Hot Key menuitem. Note that if hot key processing is not enabled, IMPOSTER will not notice when hot key events occur. Hot key processing imposes a slight overhead on all Windows keyboard activities, even if you are in other applications, so it should be disabled if you do not plan to use this feature.
IMPOSTER also allows you to instruct it to temporarily "ignore" hot keys, even if hot key processing is enabled. This might be useful if you need to run an application that also finds the same hot key significant. This is toggled by the Ignore Hot Keys menuitem. Note that even if IMPOSTER is temporarily ignoring hotkeys, some slight overhead will still occur on all Windows keyboard activities.
Aliases
IMPOSTER supports aliases for any internal or external command. An alias is a name for a command that is commonly executed. When you execute an alias, IMPOSTER simply substitutes the definition for the alias for the actual alias name.
This simple structure allows you to provide short-cut names for other commands. You can access the alias list by selecting the Aliases menuitem from the Options pulldown menu.
From the alias list dialog box, you can add, change or delete aliases and close the dialog box with or without saving your changes. When you click on the Add button, IMPOSTER will ask you for the alias name and definition for this alias. If you click on Change, IMPOSTER will only allow you to modify the definition. Clicking on Delete will remove the selected alias from the list.
If you click on OK, all changes will be saved to IMPOSTER.ALS, otherwise none of your changes will be saved. Note that if IMPOSTER.ALS does not exist, IMPOSTER will create it for you automatically with no aliases defined.
IMPOSTER is distributed with a predefined set of aliases in IMPOSTER.ALS. Feel free to modify or delete these definitions as you see fit.
Redirection and Piping
IMPOSTER supports redirection of command input and output as well as standard DOS piping. For instance, you may want to send the output of the "DIR" command to a file, or you may wish to see a long directory listing in sorted order with pauses after every screenfull. You can accomplish this via redirection and/or piping.
Redirecting Output
To redirect the output of a command to a file, simply use the greater-than character ('>'). For example, to send the output of the DIR command to the DIR.TXT file:
DIR > DIR.TXT
This will write the same text that ordinarily would appear on the screen to DIR.TXT, overwriting any DIR.TXT that may already exist.
If you want to append to the output file rather than overwrite, simply use a double-greater-than:
DIR >> DIR.TXT
If DIR.TXT doesn't exist, IMPOSTER will create it, otherwise the output will be appended to the end.
Redirecting Input
Redirecting input means that a command will receive its input from a file instead of the keyboard. This is most useful with a special type of command called a "filter". Filters generally take the contents of an "input stream", perform some manipulation, and write the output to the output device. By redirecting a file as the input to a filter, you are telling that filter to use the contents of the file as the input stream.
For example, say you had an ASCII file called PEOPLE.TXT and you wanted to sort it, displaying the output on the screen. This is easily accomplished with input redirection:
SORT < PEOPLE.TXT
PEOPLE.TXT will be sorted and the output displayed on the screen. Now say you wanted to sort the file but write the output to a new file called PEOPLE.OUT:
SORT < PEOPLE.TXT > PEOPLE.OUT
That's all there is to input redirection.
Piping
Piping can be viewed as simply a combination of input and output redirection, where the output of one command becomes the input to the next command. For example, say you wanted to see a sorted directory listing. You could accomplish this using simple redirection:
DIR > DIR.TXT
SORT < DIR.TXT
DEL DIR.TXT
The problem with this approach is that it quickly becomes ungainly. For example, now say you also want the sorted listing to pause after every screenfull:
DIR > DIR.TXT
SORT < DIR.TXT > DIR.SRT
MORE < DIR.SRT
DEL DIR.TXT
DEL DIR.SRT
Wouldn't it be better to be able to say all this in one command? Piping was created for this very purpose. For example, to see a sorted directory listing:
DIR | SORT
This command will take the output of the DIR command and automatically redirect it as the input to the SORT filter. The resulting sorted listing will be displayed on the screen.
Now what if you want the output to pause after every screen? Try this:
DIR | SORT | MORE
This approach is a lot cleaner that specifying all the redirection yourself.
Note that you can also combine redirection with piping. For example, if you wanted to sort a directory listing but save the output in a file:
DIR | SORT > DIR.TXT
The sorted directory listing will be saved in DIR.TXT.
Command Set
As I mentioned previously, IMPOSTER supports all internal DOS commands and many external DOS commands and third-party utilities. The following is a list of all commands IMPOSTER responds to:
Putting a '+' before an attribute turns the attribute on. A '-' will turn the attribute off. The following are attributes that are changeable:
R - Read-only attribute
S - System file attribute
H - Hidden attribute
A - Archive attribute
If no attribute changes are specified (i.e. only a path is specified, like "ATTRIB *.*"), the current attributes of all files meeting the path are displayed. If no path is provided, ATTR assumes the current directory.
If /S is specified, ATTR will also search all subdirectories and apply any attributes changes to those as well.
If /Q is specified, ATTR will not echo any output to the screen.
BREAK
Format: BREAK
Displays the current status of the DOS BREAK flag. Does not allow you to change the status.
CDD
Format: CDD [[drive:] path]
Changes the current drive and directory to the specified drive and directory.
If the path is not specified, CDD displays the current drive/directory. If the path specified is only a drive letter ("C:"), CDD will switch to the current directory on that drive. If no drive letter is specified, CDD assumes the current drive.
CHDIR/CD
Format: CD [path]
Changes the current directory to the specified directory.
If the path is not specified, CD displays the current directory. If the path specified is only a drive letter ("C:"), CD will display the current directory on that drive.
CLS
Format: CLS
Clears the screen.
COPY
Format: COPY [/V] | CON
Copies file(s) from path1 to path2. The /V parameter indicates the source and destination files are compared byte for byte to ensure it was successful.
If you specify CON as the second parameter, IMPOSTER will read text from the console device until you hit and save what you typed to the file. If you hit instead of , IMPOSTER will not save your changes.
Note that this implementation of COPY copies ALL files in binary mode, regardless of whether they are ASCII or not, unless you are executing COPY CON. This ensures characters don't cause premature EOFs.
COPY does not currently support concatenation of files.
DATE
Format: DATE [mm/dd/yy]
Updates the current DOS date. If no mm/dd/yy is specified, IMPOSTER will respond with:
Current date is Mon 03/12/1991 Enter new date (mm/dd/yy):
If the user hits enter at this prompt, the date is not changed.
DATECOPY
Format: DATECOPY
DATECOPY simply copies all files matching the path to the directory, based on the file date/times.
DATECOPY accomplishes this by analyzing all DOS time stamps on the files and copying all later than the earliest to the destination directory. This is particularly useful with a "touch" utility; for example, simply "touch" the file(s) you wish to track. From that point forward, any file that is modified will automatically be copied by DATECOPY.
Why not use XCOPY and copy only things that have the archive bit set? Unfortunately, just reading a file sets the archive bit, whereas the date/time is only reset if the file is changed in some way. DATECOPY ensures that only files you have truly changed are copied.
DEJUNK
Format: DEJUNK
DEJUNK is an IMPOSTER filter, which will search the input stream for all non-standard ASCII characters and control characters, removing them from the input stream.
This could be used, for example, on an ASCII file captured from a communications session that had a large number of control characters in it.
Like all IMPOSTER filters, DEJUNK will accept input only from a redirected file or a pipe.
DETAB
Format: DETAB []
DETAB is an IMPOSTER filter, which will search the input stream for tab characters and replace them with sufficient spaces to emulate the tab stop.
The tab size tells DETAB how many characters are between tab stops. The default tab size is 8 characters if the tab size is not specified.
Like all IMPOSTER filters, DETAB will accept input only from a redirected file or a pipe.
Displays the directory specified or the current directory.
If /W is specified, only filenames will be displayed in 5 columns. If /2 is specified, full directories will be displayed in 2 columns. The /2 and /W switches cannot both be specified.
If /P is specified, the screen will be paused after the screen fills.
If /A is specified, all files will be shown regardless of attributes. If /A is not specified, only non-hidden and non-system files will be shown (as in DOS).
If /S is specified, DIR will show the contents of all subdirectories as well.
If /D is specified, only subdirectories will be shown.
If /B is specified, a 'bare' format will be used, with no header or summary information.
If /L is specified, all output will be shown in lowercase.
If /N is specified, a "compressed" form of the DIR command will be displayed. This compressed form is more suitable for use with the click and double-click features of the mouse in the IMPOSTER window. By default, DIR will take the uncompressed format that properly emulates DOS but is less friendly to the mouse.
If there is a DIRCMD environment variable defined and you specify DIR with no switches, IMPOSTER will append the contents of DIRCMD to the command-line before executing it. For example,
if you type "SET DIRCMD=/2" and then type "DIR *.*", IMPOSTER will execute "DIR *.* /2". If you type "DIR *.* /w", however, IMPOSTER will not use DIRCMD since you specified a switch parameter (/w).
ENTAB
Format: ENTAB []
ENTAB is an IMPOSTER filter, which will search the input stream for sequences of blank characters and replace them with tab characters.
The tab size tells ENTAB how many characters are between tab stops. The default tab size is 8 characters if the tab size is not specified.
Like all IMPOSTER filters, ENTAB will accept input only from a redirected file or a pipe.