Command Prompt for Windows




New Features in Version 7.2

  • The bytes allocated displayed for commands DIR and DISK is now calculated for the selected files only and shows the actual size of the file(s) on disk.

  • Added another small icon. This time a 20 x 20 size icon for Windows XP, which uses 20 x 20 small icons.

  • The WinOne® Command Prompt can now be minimised to the system tray, instead of the task bar.

  • UNC paths are now supported. UNC stands for "Universal Naming Convention". It is now possible to work with files and folders that have been shared over a network. UNC paths have the following format :-

    \\computer name\directory\file name
  • Reviewed the WinOne® Command Prompt help file. This included re-writing confusing sections, correcting some spelling mistakes, adding any missing documentation and updating the images to the WinOne® Command Prompt running on Windows XP.

  • Re-introduced the WinOne® Command Prompt Reference manuals in .DOC format, which can be printed on any printer. The manuals are available for download from the customer upgrade pages. They are not included in the distribution package.

  • The Programs system menu item is now correctly drawn for all menu font sizes. Also corrected the descriptions displayed in the drive bar for the currently selected menu option.

  • The list box for VIEWICON command was incorrectly resized. It is now correctly resized.

  • The drive bar popup window now uses native folder icons for the operating system that the WinOne® Command Prompt is running on. The current system menu font is used to draw the text in the popup window.

  • Fixed a problem with the buttons that were sometimes not being displayed in the list boxes. This only happened on Windows XP Home edition. I suspect there is a bug in that version of Windows.

  • Fixed the drawing of the menu bars for dialogs in windows batch files which were not being drawn correctly by the operating system. This only happened on Windows XP (all editions).

  • Command EXT was not displaying file associations correctly. This has been corrected. Also, Windows XP introduced new Perceived Types for file associations. Command EXT now includes all Perceived Types. Lastly, when a file association is used internally by Windows, the WinOne® Command Prompt will not longer allow that file association to be changed or modified and will display the Permission denied error message.

  • Renamed the Open WinOne Explorer Context Menu to Run WinOne. The Open WinOne had a strange undocumented effect. The WinOne® Command Prompt install program automatically looks for this key and renames it to Run WinOne.

  • Improved the speed of locating an internal command. Previously, this was implemented as a long list of if-then-else statements. This list was not sorted and had a running time of O(N), where N was 186.

    This unsorted list looked something like the following (assume there are only 3 commands "append", "calc" and "dir") :-

    if (command is "dir")
        do_cmd_dir()
    else if (command is "append")
        do_cmd_apend()
    else if (command is "calc")
        do_cmd_calc()
    else
        return not found
    This has been reimplemented as a balanced binary tree. This has a running time of O(log2 N). This means there will be no more then 7 or 8 compares required to locate a command.

    For the above example the balanced binary tree would look something like the following :-

    if (command is "calc")
        do_cmd_calc()
    else if (command is greater then "calc") {
        if (command is "dir")
            do_cmd_dir()
        else
            return not found
    } else {
        if (command is "append")
            do_cmd_append()
        else
            return not found
    }
    Creating a balanced binary tree for 186 commands is achieved using AVL Trees. I have written a tool that uses AVL Trees to output the balanced binary tree for all internal commands included in the WinOne® Command Prompt. This ensures that as commands are added to the WinOne® Command Prompt, the WinOne® Command Prompt will always locate commands as quickly as possible. The tool also outputs the source code that replaces the old source code in the WinOne® Command Prompt. A quick re-compile and the WinOne® Command Prompt is updated.

  • On the start up screen of the WinOne® Command Prompt, the CPU Present was determined by calling a standard Win32 API function included in Windows. This API function is next to useless and frequently returned the incorrect CPU present. This has been reimplemented using the assembly language CPUID instruction. The WinOne® Command Prompt now identifies most Pentium and AMD processors.

  • The WinOne® Command Prompt is now an Australian registered trademark. The application to trademark the WinOne® Command Prompt was approved on the 17th of February 2003. I am pleased to read that trademarks last for 10 years as the WinOne® Command Prompt is already over 10 years old (ie. 16 bit version of the WinOne® Command Prompt started on the 16th June 1992). There is still so much more I want to do with the WinOne® Command Prompt that I look forward to the next 10 years of coding the WinOne® Command Prompt.