9

The introduction to Greg Harvey’s DOS for Dummies: Quick Reference (also subtitled Command Reference in the first edition) contains this passage:

This book not only gives you the lowdown on each and every DOS command — excepting DELOLDOS, FDISK and SELECT, a trio of commands I guarantee you’ll never miss […]

(Another edition I remember having at one point also lists DEBUG here.)

Now, DEBUG and FDISK are pretty well-known. As for DELOLDOS, the command name is suggestive enough for me to guess its purpose is to delete any previous versions of DOS after an upgrade, and some web searching confirms this. As for SELECT though, I am stumped. This is not an internal command of COMMAND.COM, and yet there is not a SELECT.COM or SELECT.EXE executable on any of my four MS-DOS 6.22 installation disks either; nothing is also mentioned in the online help system (HELP.COM). At one point I even started to suspect this might have been a misprint.

Where did this SELECT command come from? What did it do? Was this a real command at all?

  • Not to be confused with the SELECT command that some may have enjoyed with 4DOS, of course. (-: – JdeBP Sep 7 at 9:13
6

SELECT was introduced in IBM PC DOS 3.0, along with internationalisation support, and made available in MS-DOS starting with version 3.3.

Its purpose is to create a bootable disk with support for a given country code and keyboard layout. The syntax, starting with version 3.2, is

SELECT [[drive1:] drive2:[path]] country keyboard

where drive1 is the source drive (A by default), drive2 the destination drive (B by default), country is one of the supported country codes (033 for France, 049 for Germany — West Germany at the time — etc.), and keyboard is one of the available keyboards (FR, GR etc.).

This was effectively the installation procedure for floppy-based versions of DOS, outside the US: prepare a blank floppy, boot with DOS disk 1, and run SELECT with the appropriate country and keyboard code. This would result in a usable DOS disk, with all the contents of DOS disk 1, and a correctly-configured keyboard as soon as the system was booted.

Screenshot of MS-DOS 3.3 SELECT installing to a hard drive

Version 3.0 and 3.1 of SELECT use DISKCOPY to copy the source disk to the destination disk, formatting the latter if necessary. Version 3.2 and 3.3 use FORMAT and XCOPY instead; version 3.3 supports hard drives (although running FDISK is left as an exercise for the user, before running SELECT). In both cases, the destination disk is erased, and all the contents of the source disk are copied, not only the files required to support the desired country and keyboard. In version 3.2, if the source disk doesn’t include the KEYBxx file required for the desired keyboard, the user is prompted to instead the disk containing it. All versions then write an appropriate CONFIG.SYS and AUTOEXEC.BAT to the target disk, containing respectively

COUNTRY=<country>

(adding the COUNTRY.SYS path too if necessary), and

PATH ...
KEYB...
ECHO OFF
DATE
TIME
VER

The default path (PATH above) depends on the installation path (the second parameter).

In version 4.0 of PC DOS and MS-DOS, SELECT became an interactive installation tool, which was started automatically from the installation disk (or the “Select” disk on 5.25” disk sets).

In version 5.0 of PC DOS and MS-DOS, the setup program was renamed to SETUP.EXE and introduced support for upgrading DOS. This is where DELOLDOS comes from: when upgrading, SETUP would create DELOLDOS, which could be used to undo the upgrade, restoring the previous version of DOS (and its boot sector etc.).

There appears to have been another version of SELECT, written by Karl D. Wright for Phoenix Technologies, and included in at least some OEM versions of MS-DOS 3.2; a quick look through it suggests it does the same thing as the “official” SELECT.

According to The MS-DOS Encyclopedia, SELECT was available in PC DOS 2.0, but my PC DOS 2 disks don’t have it and there wouldn’t have been much use for it on PC DOS 2 which didn’t have either the COUNTRY statement or the KEYBxx commands.

| improve this answer | |
  • Good answer, as usual. I do think I remember PC-DOS 2 already having select - that would be the version with fixed disk drives (Source A:, destination B:) – Raffzahn Sep 7 at 7:57
  • According to my documentation (including the PC DOS manuals), DOS 2 didn’t have it, 3.0 added it, and 3.0 and 3.1 had fixed drive selections. See page 7-162 of the PC DOS 3.10 Reference (I can’t find the 3.0 manual online). – Stephen Kitt Sep 7 at 8:17
7

TL;DR;

Where did this SELECT command come from?

PC-DOS

What did it do?

Install DOS on a blank drive as a complete bootdrive including language/country specific files.

Was this a real command at all?

Yes.


Long story:

SELECT was essentially like a FORMAT /S, which also copies necessary files like KEYBGR for German keyboard or COUNTRY.SYS and creates fitting AUTOEXEC.BAT and CONFIG.SYS with appropriate settings for keyboard and display.

To my memory SELECT was only available for IBM's PC-DOS and only worked from diskette drives, with A: hard coded as source for all files and B: as destination.

Later PC-DOS (3?) versions allowed the selection of source and destination drive, so it could be used for hard disk install. Again later, the fixed function utility controlled by command line was replaced by an interactive installer of the same name, to be finally (DOS 6?) replaced by SETUP.


This installer / SETUP was also what brought DELOLDOS, as only they did copy any previous DOS installation on the target drive into a folder called OLD_DOS. DELOLDOS checked if that folder is to be found on the logged drive. If yes, it deleted the folder and in turn itself. So usually hard to find - especially if someone used it on a system :)

| improve this answer | |
  • "To my memory select was only available for IBM's PC-DOS and only worked from diskette drives, with A: hard coded as source for all files and B: as destination." -- according to the website I linked below, it was available for MS DOS as well, and the MS DOS version allowed you to specify the drives and did allow a fixed disk as destination. – Michael Graf Sep 6 at 21:55
  • @MichaelGraf That page does not specify which MS-DOS version did offer it first, and what version did offer which functionality. As such it doesn't contradict my memory. PC-DOS had it prior to MS-DOS, and HD support was only added later on. (Reading in full also helps to understand what has been said) – Raffzahn Sep 6 at 21:59
5

Quoting the DEW Associates MS DOS support site from 1998: SELECT "formats a disk and installs country-specific information and keyboard codes."

This is relevant only when you want to boot from a floppy disk. SYS would make this disk bootable, but not copy the configuration files, which you would then have to copy by hand. SELECT does this for you.

By the time MS DOS 6.22 came around, this use case was pretty much nonexistent; everyone was booting from hard disks. The website above notes that "in DOS Version 6, this command is stored on the DOS supplemental disk", which may be why you couldn't find it; or maybe it was removed altogether.

| improve this answer | |
  • As far as I can tell, SELECT disappeared in DOS 5, even from the supplemental disks. – Stephen Kitt Sep 7 at 7:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.