Introduction to the Microsoft PC Disk File System
By D. Glen Cardenas © 1999 

FIGURE 1

This file cabinet represents a disk drive called DRIVE C: and could be a disk on any PC. 

FIGURE 2

Here we have removed the drawer marked PROGRAMS to get a good look at what's filed away inside it.

The storage of files on a PC can be compared to the use of a group of file cabinets in an office. A PC may have several disk drives much like an office may have several file cabinets. Each drive can be divided into "drawers" called directories. In each directory "drawer" there can me many "file folders" called sub-directories and within these folders can be other folders and many sheets of paper, or in this case, files. In fact, to help make Windows 95/98 more user friendly, all references to directories were replaced with the term "Folder" to help the average user visualize the process of storing files more easily.

As an example, figure 1 above is a file cabinet we will call "DRIVE C:" that contains several drawers. The file cabinet itself is actually a directory of sorts, and is called the "root" directory, or that place from where all other directories branch out. The root directory will have several branch directories like a file cabinet will have file drawers. Also, the root directory will have several files not in any directory like a file cabinet will have files sitting on top of it not filed away in any of the drawers. This may not be a good idea for a file cabinet, but for a root directory this is just fine and to some extent necessary. One of the file drawers is called "PROGRAMS". If we were to open this drawer and look inside,  we would find a bunch of folders. Each folder might contain files and/or more folders which will contain files and/or more folders, and so on. Then again, some folders may be completely empty.

Let's pull the "PROGRAMS" drawer out of the file cabinet, set it on the floor as in figure 2 and see what's in it. In this case, there are 3 folders in the drawer, all of them rather large. One holds the contents of Microsoft Office, all of the programs that make MS Office run as well as lots of files that make Office easy to use. Another folder says "Norton Anti-Virus" and contains the virus scanning programs as well as all of the data files that define what a virus is. Another folder holds a drafting program called "Visio Technical 4.1" As we can see in this example, inside this folder is another folder called "House Design #1". This folder is filled with the individual drawings the user has created with this program. One of the drawings is called "Floor Plan".

The "PROGRAMS" drawer might just as well contain lots more folders than just these three shown, and for that mater, may contain files itself that aren't in any folder, but are sitting loose in the front of the drawer. Likewise, the "Visio" folder might contain many more folders than just "House Design #1". For that matter, the "House Design #1" folder might also contain more than just the drawing file called "Floor Plan". It could contain lots of files and even more folders too.

The computer disk storage system works the same way as a file cabinet. The nice part about the computer version is that much of the headache surrounding keeping a computer files system in order is taken care of for you by the operating system. As you install programs on the computer, new folders are automatically created to hold them and the files needed to run them are automatically placed in the new folder as well as in other already existing folders as needed. In fact, it is possible to use a computer very effectively and never need to open any of the file drawers yourself. As you create documents, spreadsheets and other files, the system will suggest a place to save them such as a folder called "My Documents". If you follow the system's advice, you will always be able to find them later just by asking the program that you used to create them to go find them for you there. The same goes with stuff you might download off the internet. Your browser will suggest a place like "My Downloads" to put them and if you agree, that is all taken care of for you.

With things made so easy, you may ask, "Why ever bother with learning a computer's file system if the system can take care of itself?" Think of it this way. You can drive your car forever without ever knowing where to put the oil. Just make it a point to use full service gas stations and let the attendant worry about where the oil goes. This is fine so long as nothing ever goes wrong and you never need oil at a time when there are only self-serve stations available. Should you ever find yourself in such a situation, you're in trouble. Naturally, you can always ask another customer or the cashier to advise you, but I think it's clear how much wiser it would be to know how to get this job done on your own. The same goes for managing a file system. It's good to know how things work under the hood in case you ever have a problem and can think of something better to do with that $75 you would have to pay a computer shop to fix something simple like locate a lost file. To go one better, why not YOU be that person who gets paid $75 to find other peoples lost files?!!

So how do you find files? How do you know what drawer and folder to look in? Well, let's say you work at that office and you need to find the "Floor Plan" document that your boss filed away. You can start poking around and by using common sense, look at the drawer and folder names and figure it out. However, to save time, just ask your boss. He would say something like, "In cabinet DRIVE C: look in the PROGRAMS drawer and the "Visio Technical" folder and then the "House Design" sub-folder and then find the "Floor Plan" document". In computer file system terms, you do the same thing. You specify the "path" to the document by listing all of the steps to finding the document from most general to most specific. Here we need to introduce some file path conventions used in the PC.

For one thing, whenever you discuss a disk drive, you must use 2 characters. One is the drive letter, the other is the colon ":". You can't just give the drive letter to the computer because it will have no idea what you're talking about. It MUST be accompanied by the colon. Therefore, drive C would be referred to as C: or c: being that the computer doesn't care if you use caps or not in file paths or names.

Another thing is that drives a: and b: are ALWAYS floppy drives. Even if your computer has only one floppy drive, the a: drive, you cannot use the letter b: for any other drive except that possible second floppy drive which you may or may not ever feel a need to install. Just because its missing doesn't allow you to re-assign that drive letter to a different kind of disk drive. Therefore, the first hard disk that a computer can recognize is the c: drive. This is the drive that must have all of the system start-up, or "boot-up" files because when a computer is first turned on, it will usually first look to see if there is a boot-up floppy disk in drive a:, and if it doesn't find one will then proceed to boot up from drive c: no matter how many other drives are present. Sometimes a computer will be configured to first try to boot from the CD ROM instead of the a: drive before going to the c: drive, but this is rare. How drive letters are assigned by the operating system is taken up in Appendix 1.

The next item to consider is the backslash "\". Be sure not to confuse it with its more common cousin the regular slash "/". The backslash is used to separate the elements of a file path so the computer will know how to break up the elements into the drive letter, the directory and sub-directory names and the file name itself. In the above example of your boss telling you where to look for the floor plan document and using the "\" to separate the elements, it would look something like this:

Look in cabinet DRIVE C:\ drawer "PROGRAMS" \  folder "Visio Technical 4.1" \  sub-folder "House Design #1" \ and pull the document called "Floor Plan".

To save more time, your boss may jot the path down on a sheet of paper for you and it might look like this:

C:\PROGRAMS\Visio Technical 4.1\House Design #1\Floor Plan

In fact, this is EXACTLY how you would type the path into a computer to locate that same file on the disk.

For the sake of consistency, let's look at the terms "drawer", "folder", "directory", "sub-folder" and "sub-directory". In computer terms, there is no such word as "drawer". The only reason I use it here is to help make the file cabinet analogy make sense. In fact, a drawer is simply another folder and so we should call the WINDOWS or PROGRAMS drawers "folders" instead when discussing the computer's file system. Also, "folder" and "directory" mean the same thing; that is, a pocket of sorts which can contain files and/or more folders or directories. Likewise, "sub-folder" and "sub-directory" mean the same thing. Although you will often see the term "sub-directory" in real use, you will never see the term "sub-folder" in real use. I use it here for clarity. These "sub" terms refer to a folder or directory that lies within the folder or directory we are currently looking at. In the above file cabinet example, if we were looking in the drawer (or more accurately, folder or directory) called PROGRAMS, then the MS Office, Norton and Visio folders (or directories) would be sub-folders or sub-directories of PROGRAMS. If we then look in the folder (directory) "Visio", then we would call the "House Design #1" folder a sub-folder or sub-directory within "Visio". The term simply helps to define whether we are talking about the place where we're currently looking (a folder or directory) or part of that location's contents (a sub-folder or sub-directory).

Although it is possible to have a file on your computer called "Floor Plan", it is much more likely that there will be a period, or "dot" after that name followed by a few more letters called a file "extension". The idea behind the extension is to further identify the file by the type of file it is and/or what program created it. These extensions can either not exist at all, be a dot followed by nothing, or be a dot followed by one, two, most commonly three, possibly four or even more characters. As a real world example, if the file "floor plan" had really been created by the program Visio, would have a file extension of "vsd" which stands for something like "Visio Drawing" or whatever. I've never spoken to the folks at Visio and asked. It really doesn't matter what the letters mean or if they mean anything specific at all. What's important is that the most likely full path for the above document would be:

c:\programs\visio technical 4.1\house design #1\floor plan.vsd

You notice in this example I used all lower case letters. Again, it doesn't matter to the computer if you mix cases in a file path. See Appendix 2 for more details on using the full file path.

The extensions given to files created by a program, or to "helper" files installed along with a program are usually chosen by the program's author to be unique so they don't conflict with the extensions used by other software They also help identify one of these files with the program and offer a clue as to the file's purpose. In Windows, the various file extensions are cataloged by Windows (referred to as the extension being "associated" with a specific application) so that when you open a file (double-click on a file name) Windows knows what program to start in order for you to work with this file. For example, if you were to double-click on the file name "floor plan.vsd" in the "Windows Explorer" screen (the screen where you can display a list of all folders and files on all of the drives on your computer), Windows would automatically start Visio Technical and tell Visio to load this file for you and display it in its workspace ready for you to continue working on it or print it or whatever.

Some file extensions are dictated by convention or by design of the operating system. For example, any file that is a program that can be run, or in technical terms, "executed" on a PC will have a file extension of "exe" which stands for "executable" or "com" which stands for "command". Programs MUST have one of these two file extensions if they are expected to be run from the command line or are to be the start-up program file in a larger application. By the same token, any file with an "exe" or "com" extension MUST be made of executable code that a computer can run as is - without having to be translated by some other program first. Another standard extension is "bat" which stands for batch file. These are files that are made of plane text but organized in phrases according to certain rules such that they can be executed like a program through DOS. In fact, a batch file is made up of DOS commands that could otherwise by typed in one at a time and run from the command line (DOS prompt). More on using DOS commands and the command line later.

Other agreed upon extensions are "txt" for plain text files, "jpg" for a type of graphics file often found in web pages, "htm" or "html" for web pages themselves, "sys" for system files used by the operating system during boot-up, "doc" for word processing documents, "ini" for Windows initialization files, "bak" for back-up files and so on. You will learn more about common extensions as you run into them over time.

The Operating System, or OS

Although the idea of a computer being a file cabinet is a good way to visualize the concepts, the best way to understand things is to see the way a computer file system presents the file listings on the screen. Let's look at two operating systems and the ways they will display folders (directories) and files. First, some background.

In the days before Windows 95/98, there was DOS. DOS stands for Disk Operating System, and was created by some guy in Seattle who sold it to Bill Gates for a few thousand bucks who then "leased", or licensed it to IBM for use in a brand new microcomputer called the PC. Over time, DOS was improved and came to be a very powerful system management interface. DOS allows you to create or remove directories and files, rename them and lots of other cool stuff. Windows 3 was eventually released by Microsoft and this added a "graphical" picture-like system for performing DOS file keeping functions. Windows 95 all but automated file management in an attempt to free the user from having to worry about technical stuff and just have fun or get work done without getting geeky about it. However, Microsoft has been somewhat less than successful at insulating the user from the hardware and system, thus making for a very good living for technically minded people like you who know a good opportunity when they see it. Therefore, let's look at the foundation system - DOS.

MS DOS

For the most part, operating systems can be categorized into two classes; text and graphical. Windows is a graphical system because everything in Windows is displayed like a TV picture. The "desktop" and program windows are displayed using graphics made up of tiny dots, each of which is controlled as to its brightness and color independent of all of the other tiny dots on the screen. Any window can be sized, moved around, altered as to color and so on. DOS is a text based system. Being text based, it can display on the screen only the standard typewriter characters plus a few basic graphic-like characters to make boxes and crude borders. The screen isn't controlled dot-by-dot through DOS like it is in Windows. The screen is accessed in blocks the size of whole letter or number characters usually 7 dots by 9 dots in size. DOS can select one of 16 colors as both background and foreground for these blocks and can dictate the letter, number or symbol to be displayed in it, but that's about it. At standard screen resolution, DOS sees the screen as 24 lines, each being 80 character-size blocks wide. At higher resolutions, this can be 40 or 50 lines of 120 or more characters wide, but always must be accessed in character-size blocks. Programs running under DOS can, of course, access the screen with TV like quality just as Windows does, but that is because the PROGRAM is written to do that, not because of DOS. 

DOS is also a command-line system. This means that when you want to do something in DOS, you must type in a command that DOS understands along with any other information that DOS might need to make the command do what you want. For now, we will concern ourselves with only a few commands, those which call up a directory list and the one which allows us to change the directory, or folder, that we're looking in.

FIGURE 3

This is a screen shot of what you might expect to get after issuing the DIR command at the DOS prompt while logged on to the root directory of the C: drive. In this case, I have cut the listing a bit because the original list was too long to fit on a page. As a result, the number of files shown will be less than the file total  given at the bottom of the listing.

First, we will use DOS to call up a listing of all of the files and directories (drawers or folders) in the root directory (file cabinet). To do this, one types in the command DIR. After this command, you hit the ENTER key and DOS responds with a list of files and sub-directories located in the current directory; in this case, the root directory. Figure 3 is a screen shot of what this result looks like. As you can see, it is a simple list of files (entries that have a number after them denoting the file size in bytes) and directories (entries followed by the tag <DIR>). Along with this basic information is the date and time when each was created or most recently modified.

You might note two odd things about the names. Several have the "~" character in them. The reason for this is DOS only allows a file or directory name to be 8 characters long with an 

extension of no more than 3 characters. This is commonly referred to as the "eight-dot-three" file naming convention. Windows 95/98 allows names to be 256 characters long with the extension being any number of those 256 characters. Because these files and folders were created in Windows 98, some might be not conform to the DOS standard. Some may contain spaces, also not allowed in DOS names. Therefore, when DOS lists these names, it removes any spaces and cuts them to 6 characters, adds the "~" symbol and a number at the end so they conform to the DOS rules and still make up a unique name. For example, if I had 3 text (txt) files named:
This is one file and is called the first.txt
This is one file and is called the second.txt
This is one file and is called the third.txt
then we would have three very legal file names in Windows 95/98. They are all less than 256 characters long and are all three unique. However, if we tried to remove the spaces and trim 
them down to 8 characters for a listing under DOS, then all three would have the same name:
thisison.txt
This isn't allowed! All names within a given folder must be unique. We could change the extension of the three files to make them different, but that would change the association Windows has built with them as text (txt) files and so wouldn't know what to do with them any more should you attempt to open them later in Windows Explorer. Besides, that wouldn't help us in the case of long folder names. The solution Microsoft came up with was to cut the name off, give them a symbol to show that these are truncated file names and give them a serial number. Thus, the above files would be listed under DOS as:
thisis~1.txt
thisis~2.txt
thisis~3.txt
thus solving the dilemma. In like manor, had there been more than 9 such files, DOS would have had to chop them to 5 letters, add the "~" symbol and then two numbers. This can go on until you have 999999 files that start with the same 8 characters and DOS runs out of room in the file name. Then DOS would blow a gasket and the listing command DIR would fail. Here's a good tip - try not to have more than 999999 files with the same first 8 characters in the same folder. This should be a no-brainer.

Also note that DOS has listed only the contents of this, the root directory. It made no attempt to list the contents of any of the sub-directories. Thus, we may know by the figure at the bottom of the listing how much total space is being taken up by the files in this directory and also how much room remains on this particular disk, but we have no idea how much space is being taken up by the contents of the other directories. To get the contents of another directory and how much room its files are taking up, we must "log on" to that directory and issue the DIR command from there. For this example, lets tell DOS to change to the MSDEV and see what's in there.

In order to move to another directory, we must issue the DOS command "CD" which means "change directory" and supply the name of the directory we wish to change to. In this case, we would type the following at the DOS prompt:
cd msdev
and follow it with the RETURN key. Again, DOS doesn't care if you use upper or lower case or any combination of the two. The result is in figure 4. This time, I've included in the screen shot the DOS command prompt and the commands I entered. Look at the top of figure 4. The first line is the DOS prompt with my command after it. The prompt part is the "C:\>" and what I typed in was the "cd msdev" part. The DOS command prompt is just a "hello" DOS gives when it's sitting there waiting for you to tell it to do something. The prompt is customizable and can say anything you want. For example, I set my mother's computer to offer a prompt that says:
You are at C:\Windows - What do you want to do next?

FIGURE 4

Here we have a listing of the contents of the MSDEV directory. Notice it contains only more directories. Also notice that it lists itself (the single dot) and its parent directory (the double dots) and part of its contents.

followed by a blinking cursor. The prompt in both cases displays the current disk letter (the C:) and the directory currently logged on to (in figure 4 line 1, it just the root directory so there is nothing after the backslash and in the case of my mother's computer, in this example she would be logged on to the Windows directory). This is followed by a message. In figure 4, the message is nothing more than the ">" character but on my mother's computer it is the message "What do you want to do next?". In either case, the user types in the command they want carried at the blinking cursor which will be the space right at the end of the prompt. In figure 4, you can see that after the prompt "C:\>" I typed in the command "cd msdev". DOS responded by giving me another prompt as shown on line 2 of figure 4 - something it always does when it has finished carrying out an instruction so you know it's ready for the next instruction. In this case, the prompt has changed a bit. Instead of saying "C:\>" it now says "C:\MSDEV". This is because I'm no longer logged on to the root directory, but have moved on to the msdev directory and so the prompt changed to reflect my new location. At that prompt, as you can see in line 2, I typed in my "dir" command. DOS responded by giving me a list of everything in the msdev directory (or folder or file drawer, however you want to picture it).

As you can see, just like the last time from figure 3, DOS gives the volume name and serial number of our C: drive, not that this is often very useful information, then lists the contents of the directory. In this case, there are 6 entries, all of them are also directories and none of them are files. DOS has an odd habit when it comes to listing the contents of a directory other than the root. It always adds 2 entries at the top of the list. the first one is always named "dot" and is shown as having a name made up of one period, and the other is "dot-dot" made up of 2 periods. Strange as it may sound, a directory always lists itself and calls itself "dot". Also, a directory always lists it's "parent" directory - the directory that contains this directory as part of its contents, and calls it "dot-dot". In this case, the parent directory is the root directory. After these strange concessions to its lineage, the true contents are listed. Here you see there are 4 sub-directories and no files in the msdev folder. We could log on to one of these sub-directories, such 

CHART 1

This chart shows what the contents of the file cabinet from figure 1 might look like if it were charted as a directory "tree". Note at the top is the "trunk" consisting of the root directory (the file cabinet itself). It contains some loose files and 4 sub-directories that were represented by the file drawers. The WINDOWS directory holds some files and another directory called System which itself holds some files. On the right, the TEMP drawer holds only files and no other directories. The UTILITIES drawer holds some files, likely programs, and a folder called WinZIP. In that folder are the program files that make up WinZIP and another folder called Archive. In this folder are some ZIP archive files. The big group is in the drawer called PROGRAMS. Here are the three main sub-folders MS Office, Norton Anti-Virus and Visio Technical. Notice how many files and sub-folders within files and sub-folders go into the MS Office folder. This is a large program with many parts. The Norton folder is rather small and contains only files. The Visio folder contains the files that make the program work and also 2 folders. The one called Upgrades is empty. The other is the House Design #1 folder we have been discussing. It contains some files including the Floor Plan.vsd file. It also contains another folder called House Design #2, and this folder contains files plus another folder called Cabin that contains files plus another folder called Workbench which contains only a few files.

as the MFC folder by issuing the command "cd mfc: and then issuing another "dir" command to see what's in there. Needless to say, this could go on and on all day just poking around a disk going from directory to directory one at a time to see what each holds. Certainly there must be a better way. Wouldn't it be nice to be able to graph the contents of a disk like we have done for the contents of the file cabinet in Chart 1. Here we can see what folder branches off of what folder and which folder contains files and other folders and so on; sort of a "big picture".

FIGURE 5

The TREE command gives us a more graphical representation of the directory structure. In this case, we have a list of all of the directories and sub-directories that branch off from the MSDEV directory. The fact that the structure resembles an upside-down tree with branches sprouting off of other branches gives this command its name.

In the DOS environment, you are limited in the convenience of overview where directory structures are concerned. As we have seen so far, you can look at any given directory or folder in detail, but there is little to no information as to how that one directory relates to the overall disk file system. To help address this shortcoming, later versions of DOS included a command called "TREE" that does give more of a "big picture". This command can list the entire contents of a disk at one time. The only limitation is that the contents of a disk is often so much that the information scrolls off the screen before you can see it. DOS offers some tools to display information like this in smaller chunks so you can view a screen-full, hit a key and get the next screen-full and so on. I don't want to get into such details of using DOS commands at this point, so to avoid the whole issue we will issue the TREE command on a folder with limited contents that will be easily displayed. Let's look at the output of the TREE command as issued from the MSDEV directory.

As you can see in figure 5, the TREE command draws a map of the sub-directories contained in the directory we are currently logged onto; in this case, the MSDEV directory. At the top of figure 5 is the DOS prompt followed by the command I used to log on to the MSDEV directory, namely, "cd msdev". The next prompt contains the command "tree" and then the result of that command. "Tree" gives us a more graphical display of the contents of MSDEV including the contents of those contents. The graph looks sort of like an upside-down tree with the C: drive as its trunk and the msdev directory (listed simply as "." after the C:) being the branch we're sitting on. Growing off of this branch are 4 other branches. They are the 4 directories we saw listed as the contents of msdev when we used the "dir" command. They are INCLUDE, MFC, TEMPLATE and PROJECTS. We can now see that two of those directories have sub-directories as part of their contents. We can even see that those sub-directories have sub-directories. You might note that one directory is called L.FRA which just goes to show that even directories can have extensions as part of their names. This is rather rare, but never the less allowable.

FIGURE 6

This time we used the /f switch with the TREE command to get a list of all of the files in this directory tree as well as the directories themselves. I have focused in on this one small branch area by logging on to the MFC directory first, so as not to get a page full of files. 

This is a handy way to get an overview of the directory structure, but what about the files in all of those directories? How can we see the file names and not just the directories? In other words, how can we see the leaves on these branches? The answer is to use the TREE command with an additional instruction. These additional instructions are called "switches" because they turn features of a command on or off. Switches are usually separated from the command by a space and are made of the slash followed by a single letter. In this case, we will use the switch "/f" to tell TREE to display the file names along with the directories. Note that a switch uses a regular slash, not to be confused with a backslash which is used ONLY to separate the elements of a file path. Regular slashes are used for lots of stuff.

So now let's try the TREE command with a switch. Figure 6 shows the result. At the top you can see that I logged on to the MFC directory by issuing the command "cd mfc". The reason I did this is because there are lots of files in the msdev tree and to keep space usage down I picked a directory that doesn't have too many files in it. At the second DOS prompt, I typed in the "tree" command with the "/f" switch. The results followed. We are now sitting on the MFC branch, called "." and we have one branch extending from there, called INCLUDE. It turns out that INCLUDE has no files in it but does have a directory in it called L.FRA and that directory has two files in it. Without using third-party programs like Norton Utilities or QDOS or other such add-ons, this is about as good as it got until Windows gave us the File Manager in version 3 and then the Explorer in version 95.

Windows 95/98

Once the Windows 95 system became the standard, DOS was left for running old  pre-Windows software and for performing emergency rescues when the computer was so hosed that Windows wouldn't load. Under the later condition, knowing your way around the disk through DOS is mandatory. Aside from that, file management is so much easier in Windows that there is no need to resort to DOS for anything any more.

FIGURE 7

This is how Windows Explorer can look if you allow the Windows 98 default settings to prevail. Note that the icons are nice and big, but there is a lot of wasted space taken up by the dummy bar with its sky graphic. This is fine for a non-technical user who has no intentions of taking charge of the file system and is content to allow Windows to dictate file management without intervention. Also, many system files are hidden from view so the user never knows they exist. Common file extensions are also hidden from the file names and there is no size or date information.

From this point on, directories shall be referred to as folders because that is the common vernacular in Windows. If you want to hunt for a file or folder in Windows, you need only launch (start) a built-in applet (mini-program) called Windows Explorer. Don't get this confused with the web browser Internet Explorer, even though this is exactly what Microsoft wants you to do. From their point of view, they want the disk file system and the web to be seamlessly integrated. That's all well and good, but it was what led to the "Great Microsoft Inquisition" of 1998/99 when Netscape and other competitors convinced Congress to place Microsoft on trial 

for running a monopoly and conducting unfair business practices. This didn't stop the release of Windows 98, however, nor did it prevent Microsoft from building Windows 98 around the concept of "the internet on your desktop". As a result, under the default installation configuration, it is hard to tell where Windows Explorer stops and Internet Explorer starts. I, for one, prefer to keep my Windows Explorer focused on disk file management and so I have configured it to operate in Windows 98 like it did in Windows 95. In short, I have foiled Bill Gates and struck a blow for utility. Configured for the Windows 95 look, Windows 98's version of Explorer shows more detailed information about the disk file structure and doesn't gloss over the difference between a folder and a web site. Many technically minded people agree with me on this point and find Explorer almost useless for file management unless it is configured to offer this level of detail. On the down side, it doesn't look as flashy in its more utilitarian mode. If you look at figure 7, you will see how Windows Explorer is made to appear after installing Windows 98. Now look at figure 8 after the appearance has been changed to offer more utility. Not only can you get more information on the screen, but the quality of that information is better.

FIGURE 8

Now the appearance of Windows Explorer is given a more professional look. All files are displayed, including the "hidden" system files. All file extensions are displayed as well along with the file size, file type and date stamp. The screen can now hold more items than before making it easier to find what you're looking for without so much scrolling.

The Explorer window is broken down into 4 areas. At the top is the standard Windows tool bar where various options and functions can be selected. At the bottom is the status bar where some useful information will be displayed from time to time and will vary depending on what you're doing. On the left side of the window is the tree view, somewhat like the view offered by the DOS TREE command. Note, however, that there are several levels displayed that didn't appear in DOS. In figure 9 I have collapsed the list of DRIVE C: folders so you can see the rest of the locations that Explorer offers. The new root directory is called "Desktop" The entire computer is now shown as "My Computer" and beneath this heading is where you will find all of the disk drives listed; floppy drives, hard drives, CD ROM drives, and special areas like the printer, the control panel and the dial-up modem connections. The "My Documents" folder is shown as a separate location even though it is physically located on the hard disk. This is Windows trying to be user friendly again. Next is the Network Neighborhood folder that contains all of the drives on my Ethernet network and finely the Recycle Bin. Depending on what you install and how 
FIGURE 9

After collapsing the folder list for drive C:, you can see the other locations in the system that Explorer allows you to examine. Some of these locations are "imaginary" so to speak, because they really are not physical places but represent  devices that are attached to the computer or special functions of some program that effect the movement of data or files. 

your system is configured, you will have more or less or different locations than you see here.

Let's look more closely at the left side of the screen in what is called the "Folder View". Notice the little boxes with "+" plus signs in them. Whenever you see a plus box, this means that there are more folders located inside of that folder. Clicking on the plus box will expand the view one more level to reveal those folders. Next to those folders that contain more folders will be a plus box as well. You can keep clicking on plus boxes to reveal level after level of folders within folders just like the TREE command displayed all of the folders within other folders for as long 
FIGURE 10

This is a close-up of the left side "Folder View" showing what happens if you click on all of the plus boxes and thus expand the folder listing to show all folder levels. As you can see, many folders contain other folders that contain more folders and so on. The dotted vertical lines help to keep track of how many levels down you are looking when only part of the folder list is on the screen. In this case, the first line shows that there is a first level off-screen. It is the "My Computer" branch. The next dotted line shows where the DRIVE C: branch runs. The third line which crosses the box for "Program Files" shows the branch where this folder and all other folders contained in the root of DRIVE C: fall. The next line starts at the folder "Accessories" and crosses the box for all folders that are within the "Program Files" folder. As you get to the next level, or branch of folders, new lines appear to show which folders lie within that one and so on down the line. All of the folders that had plus boxes now have minus boxes to show that there are no more levels to that branch and that if you click on the minus box, that branch will collapse and hide the folders within it.

as the branches kept splitting off. At least in Explorer, you can choose which folders to look into and how deep to go by clicking the plus boxes to expand the tree or, once expanded the "+" turns into a "-" and clicking on a minus box closes the view. Figure 10 shows an example of a branch where all of the plus boxes have been clicked resulting in the display of all folders within all folders just like a TREE command.

Now you can see how to view the hierarchy of folders on a drive. As you can tell, this is much easier than the DOS TREE command because it is completely controllable and there is a lot more room on the screen for information. Not only that, but this view is scrollable whereas the DOS screen isn't. It's also very useful to be able to open two or more Explorer windows that are focused in on different parts of the system and then be able to drag and drop files between them. This can't be done in DOS.

Now let's look at the right side of the screen. in figure 8 for example, you see the listing of all contents in the root directory of drive C: just as you might if you used the DIR command from DOS. The view is formatted in Windows to list the folders first and then all files in alphabetical order. This list arrangement can be changed from the VIEW menu at the top of the screen to show the list arranged by file type, file size or date as well. The ability to arrange the list by date comes in very handy when looking for a file you know was created at a specific time or to get a grouping of all files created within a specific time frame. To change the contents of the right side, simply click on a folder on the left side and its contents will be displayed on the right. If you double-click on a folder shown on the right side, it will open that folder and display its contents instead. If you double-click on a file, Windows will try to open that file by launching whatever program is associated with that file's extension. If the file you double-click is a program file or an icon file for a program, Windows will run that program. You can select single or groups of files and move them to another folder, copy them to another folder or delete them. You can re-name files from this view, and by left-clicking on a file name bring up a menu that 
FIGURE 11

This is a sample of a "File Open" dialog box. The large window gives you a list of all folders and files located in the current folder, and that current folder is listed in the "Look in:" drop-down box. Notice there are other specialized boxes where you can type the full path to the file directly, limit the listing to specific file types and also go to other special folders that relate directly to the program's file system. Other display and listing options can be selected using the buttons at the top of the dialog box.

allows you to select all sorts of operations that can be done to the file. The list of possibilities is beyond the scope of this discussion, but once you start playing with Windows Explorer, the possibilities will present themselves to you rather quickly.

There is another way of locating files and folders in Windows 95/98. At the bottom of the screen is the START button that you likely discovered the first time you ever used Windows 95/98. This is where you go to find programs to run, to get help, to change settings and to find stuff. There is an option on the START menu called FIND and if you move the mouse over it, it will offer you some things that you might want to find should you have lost them. One offers to find files or folders. By clicking on that menu item, you are taken to a dialog box where you can type in the name of the file you're looking for, some part of the name using wild cards, or even some words that the file contains. You can also select where you wish the search to be conducted and limit the date or the size of the files to be searched. The results of this operation is a list of any file or folder names that match your criteria and their full path. This is very handy for times when you can't imagine where a file or folder may be or perhaps don't remember the full name, but you just have this feeling it's in there somewhere.

So how about locating a file from within a word processing program or a graphics editing program or other application? This is easy. You simply go to the menu bar at the top of the screen (this is the same for all Windows programs) and click there to open the FILE menu. From there click on OPEN. You are offered a dialog box showing you the contents of the folder or directory the program is currently logged on to. An example is shown in figure 11 above. If the file is there, just find the name and double-click on it. If it isn't but is in a folder that is listed, double click on that folder and its contents will be displayed and you can now select the file. If it's in a different place altogether or even a different drive, use the "Look in" "drop-down" box by clicking on the arrow and select the drive you want and then the folder in that drive. Its contents will now be displayed. To save a file, from the FILE menu select SAVE and it will be saved under its current name in the current folder. If you want to change either, use the SAVE AS option instead and give the new name and, if needed, the full path to where you want it saved. If you don't want to type in the full path, again there is a drop-down box where you can click your way to the drive and/or folder you want, and then you can save to that folder.

Appendix 1 - How Drive Letters Are Assigned

Just to satisfy curiosity, DOS/Windows follows some odd rules when it comes to assigning drive letters to the disks in your computer. There is also a bit of a pit-fall to the system that you should be aware of. To begin with, as said before, the first 2 letters, a: and b: are reserved for floppy drives. The first hard disk that a computer will see is the c: drive. As you know, there can be more than one hard drive in a system, not to mention CD ROMs, removable drives and so on. To keep things simple, the system uses a bit of wiring logic to assign letters to the physical drives it finds when it boots up. Most systems will use IDE (Integrated Drive Electronics) drives with the disk controller built in to the motherboard. A motherboard can support 4 such drives and would call them c:, d:, e: and f:. There can also be SCSI (Small Computer System Interface) drives on a system using a motherboard that supports them or by using a plug-in controller card and that can support up to 15 drives along with or in place of the 4 IDE drives. This starts to get complicated, so for the sake of our discussion, we will assume that there are no SCSI drives and we are limited to the 4 IDE drives that the motherboard supports by design.

This seems simple enough. What's the big deal? Well, a single physical disk can be formatted so that its storage area is split up, or "partitioned" into several "logical" drives. This might be done for many reasons. First, it's good for file management to have separate "file cabinets" for, say, the system (programs), business files, personal files and internet downloads. This allows the drive that doesn't change its contents often (the system partition) to be backed-up less often than the partition that changes daily (the business files partition). Also, in the event one of the drives becomes corrupted due to a glitch in the operating system's file management program, only one disk will be wiped out and need to be re-loaded with the contents of a back-up in order to recover from the disaster. Due to its nature, the Windows system has the bad habit of going toes-up from time to time leading to the necessity of having to re-format that drive (partition) and re-loading Windows. Imagine how much less of your hair you would be pulling out if you didn't have your work files on that drive too! There is also the possibility that a section of a drive will just go bad, and it's more likely that the data on the unaffected portions of the drive can be recovered if that data is stored on a separate partition. Needless to say, if a part of a drive goes that far south, the best thing to do is recover all the data you can from the bad partition as well as back-up the still working partitions and then replace the entire drive. Once a part of it starts going bad, the rest of it could follow almost immediately.

Another reason for multiple logical drive partitions is that in early systems there was a limit to the size a drive could be. The largest drive could be no more than a bit over 4 gigabytes in size. This was because the map (file allocation table or FAT) used to keep track of usable space on the drive was made up of only 16 bit numbers. Thus, it could only hold a total of 65536 (the largest 16 bit value) "clusters" (groups of disk sectors) in its map space. As the amount of space goes up, the size of the individual clusters also goes up because it must limit the number of clusters to 65536. A 100 megabyte drive could be split into 4 KB clusters easily, a 600 megabyte drive must use 16 KB clusters in order to have no more than 65536 total clusters. A 1.5 gigabyte drive must use 32 KB clusters and a 2 gigabyte drive must use 64 KB clusters. Even if a file is only 10 bytes long, it will occupy an entire cluster by itself because all disk space is allocated on demand by clusters and in multiples of clusters. The larger the drive, the larger the cluster. It doesn't take a rocket scientist to see that a drive with large clusters will waste a lot of space. Thus, you can save a lot of space reducing the cluster size by using smaller partitions, or "logical drives". Also, as you may know, there have been drives much larger than 4 gigabytes available on the market for some time now. In order to use their full capacity, they had to be split up into logical drives each no larger than 4 gigabytes.

It wasn't until the advent of Windows 95 version B that the disk partition size barrier was broken and the system could deal with partitions above 4 gigabytes. This is because the FAT system was changed from 16 bits to 32 bits allowing for mapping of up to 4.3 billion clusters. Even now that Windows can see super big drives without having to partition them into smaller drives and while still keeping cluster sizes very small, it's still sometimes a good idea to split up a big drive for file management purposes as discussed above.

So here's how the lettering system works. The motherboard controller sends DOS/Windows  a list of physical drives installed on the computer at boot-up. The 4 IDE drives are called Primary master, Primary slave, Secondary master and Secondary slave. The system then calls the Primary master "drive C:", the Primary slave "D:" the Secondary master "E:" and the secondary slave "F:". So long as there are no more than one big partition on any drive, this is as far as it goes. What happens if one or more of the physical drives has more than one partition? The list sent by the motherboard to the system doesn't change. As far as the system is concerned at start-up, there is no such thing as multiple partitions and so each physical drive is assigned its letter. What happens next is that the system looks at the drives and finds the extra partitions. Now it assigns more letters to those extra partitions starting with the Primary master and going down the line to the Secondary slave. Here is an example. Suppose you have a Primary master with 2 partitions, a Primary slave with 3 partitions, a Secondary master with one partition and a CD ROM connected as the Secondary slave. The system will assign the letters as follows:

Primary master first partition				C:
Primary slave first partition				D:
Secondary master first (only) partition		E:
Primary master second partition			F:
Primary slave second partition			G:
Primary salve third partition				H:
CD ROM (doesn't matter where its connected)	I:

As you can see, the first partitions of all drives are assigned letters first, then the extra logical partitions are assigned letters in turn, and last the system hunts down the CD ROM and assigns it a letter after all of the hard drives are accounted for. It doesn't matter where the CD ROM is connected (as long as it isn't the Primary master which MUST always be the boot-up hard disk), the system will ignore it until it has lettered all of the hard disk partitions. The system will likewise ignore any removable drives such as a Zip or Jazz drive until after the hard drives are lettered and also will usually even put them off until all of the CD and/or DVD drives are lettered too. Why is this a problem? Well, let's assume we have the system described above. Let's also assume something goes wrong with the Primary slave drive and it must be removed. Now the letters are assigned as follows: 

Primary master first partition				C:
Primary slave first partition				missing
Secondary master only partition			D:
Primary master second partition			E:
Primary slave second partition			missing
Primary salve third partition				missing
CD ROM (doesn't matter where its connected)	F:

Now we have a problem. If you have any programs installed on the Primary master's second partition (was drive F: and now drive E:) or on the Secondary master (was drive E: now drive D:), the drive letters are now different and Windows will have no idea where to find them. Also, the DC ROM was drive I: and is now drive F: and any associations Windows had built with programs using CDs will be screwed up as well. There are some tricks to fooling Windows into using drive letters other than the ones it wants to assign, and using this method you could reassign the letters temporarily to get around the problem, but this is complicated and doesn't always work for all drives or for all versions of Windows. The same thing will happen if you decide to merge any 2 partitions into one larger one or otherwise remove a logical partition form a drive that has multiple partitions. Changing the mix will always spoil the soup!

Appendix 2 - Using the Full Path to a File

When you are in the DOS environment, all commands must be entered from the DOS prompt, referred to as the "command line". When working with files, you need to tell DOS exactly what file you want to work with. This is done by referring to the file either by its full path name (drive letter, directory and sub-directory, name and extension) or however much of the path DOS needs to fine the file from the directory you are currently logged on to. As an example, let's say we want to edit a text file called "expenses.txt" that resides on the E: drive in the "taxes99" sub-directory of the "business" directory using a crude but very useful word processor called EDIT.COM that comes with DOS. The full path of the file is therefore:

e:\business\tax98\expences.txt

This example will show 2 points about file names.

The first point, if you want to run a program or batch file (a file that ends with either the .EXE, .COM or .BAT extension), you don't need to type the extension with the file name. Thus, to run EDIT.COM, you simply type in EDIT and hit RETURN just like you would with a DOS command like DIR or CD. Also, like many DOS commands, you can add information to the EDIT command to make it do things for you. In this example, you can add after the EDIT command the name of the file you wish to edit. In this way, that file will be loaded for you instead of you having to open it from within the program after it has started. to do this, simply type the path after the EDIT command like this:

edit e:\business\tax98\expenses.txt

Notice there must be a space between the command and the file path otherwise DOS will not know where one stops and the other begins. Now, just for grins, lets add the DOS prompt to the above command so it looks like it would on a real computer screen:

C:\>edit e:\business\tax98\expenses.txt

Not much to shout about, is it? Lets try a variation on this prompt. Lets change drives:

E:\>

This is interesting! we are no longer logged onto the root directory of drive c:, but to the root directory of drive e: instead. How does this change things? 

E:\>edit e:\business\tax98\expenses.txt

Well, the above line is still completely legal. However, we can now start using some shortcuts. Because we are logged on to the drive where the file in question resides, we no longer need to specify the drive letter in the path. Now we could enter the following:

E:\>edit business\tax98\expenses.txt

To take another step, suppose we were logged on to the business directory of the e: drive. We could leave that part out of the path like so:

E:\BUSINESS>edit tax98\expenses.txt

I think it would occur to you that if we were logged on to the exact directory where the file resides then we would need only use the file name:

E:\BUSINESS\TAX98>edit expenses.txt

Now lets look at what you can do if you are logged on to a directory not along the same path as the file you want to work with. Remember when we were looking at the display from the DIR command that the directory just beneath the one where we are logged on (the parent directory) is always listed using the name "dot-dot" or "..". This is because the DIR command doesn't know the name of that parent directory at that moment. We are logged on just beyond it. It simply knows that we must have gotten there from someplace, so it designates that unknown location as ".." for lack of a real name. DOS understands the ".." concept when used in the path as well. here's an example. Suppose we are logged on to a directory near the one containing the file we want:

E:\BUSINESS\TAX99>

We still want to edit the "expenses.txt" file from the "tax98" directory. We could issue the full path with drive letter and all, just to be sure, but we could also use the dot-dot name to tell DOS to back up a directory level and continue the path from there. Here's how it would look:

E:\BUSINESS\TAX99>edit ..\tax98\expenses.txt

Here we have told DOS to back up a level to the parent of "tax99" and from there go to "tax98" and fine "expenses.txt" for us. As a more extreme example, supposed we were logged on to a different parent directory such as:

E:\PHOTOS>

Here, we would have to use the dot-dot name to back us out to the root directory and then on to where we need to go like so:

E:\PHOTOS>edit ..\business\tax98\expenses.txt

But what if we were even deeper into the "photo" directory? What if we were here:

E:\PHOTOS\SUMMER>

We would have to go back 2 levels first, and so we would use the following:

E:\PHOTOS\SUMMER>edit ..\ ..\business\tax98\expenses.txt

Here we have used the dot-dot name twice to tell DOS to go back to the parent of the parent and then use the rest of the path to fine our file.