Windows File Management

Custom Icons and Associations for Image FilesBatch Renaming of FilesFile Synchronization & Backup


These are some tips for efficient working with Windows, in particular managing files and directories for webmasters and other (semi-) professional users.


Custom Icons and Associations for Image Files

Software companies are doing anything to make working with the computer easy - at least that's what they say. Hence, many users trust in the default settings of the software, assuming that it would be the best to do - although it often obstructs efficient working.

Since Windows 95, there is a concept of not showing file extensions (like DOC, XLS, EXE) in the Windows Explorer and instead of that working with "file types" associated with a certain software. File types are also indicated by icons that come with Windows itself or the application software. This concept is absolutely unsuitable in many cases, especially when working with bitmap image files.

Image editors or graphics suites (Adobe Photoshop, GIMP, IrfanView) love to appropriate file extensions such as BMP, TIF, JPEG or GIF and group them to Windows file types when they are being installed. The more polite programs at least ask if they may become the standard editor before doing so. Once such a file type is created and associated with a software, all files with the included extensions are opened with this software upon a double-click. In addition, the icon that comes with the imaging software is displayed, and the file type is named something like "YourImagingSoftware File/Object". This is exactly the problem. With all files of different extensions being combined to a single file type with a single icon, it is not possible to distinguish them. To make it worse, if the Windows option "Hide extensions for known file types" (=default) is chosen, the extensions are not shown at all. This may give us an absurd display of very different files that have the same icon, the same file type and even the same name:

File listing with Windows and software standard settings

It is impossible to distinguish what is an original uncompressed PPF file with objects (the native file format of my good old Micrografx/iGrafx), what is a "flat" but still uncompressed TIF file, what is a compressed JPG file or a color-reduced GIF file. In Windows Explorer, they are shown as if they were the same.

Here is a step-by-step instruction how the visibility of files can be greatly improved in Windows 98, 2000 and XP.

Step 1

Clearly the first step to distinction of file types is enabling the file extensions. From my experience I know that on most accounts the file extensions are hidden, although no serious user should do that. To show the extensions in Windows Explorer, go to:

Tools --> Folder Options... --> View

and uncheck "Hide extensions for known file types".

Step 2

Seeing the extensions will allow to distinguish the file types, but it would be desirable to let them appear still more different. Keeping software-independent file extensions like JPG, GIF, PNG, TIF, BMP or PCX as arbitrarily assigned to one or more applications clearly makes no sense anyway and should be fixed. On many computers they open in different applications, like GIF in the browser, JPEG in some Freeware editor and TIF in an expensive graphics suite. This unhealthy chaos is just as bad as having them all usurped by one software. On the other hand, I recommend to leave any file types that only include the software's native file types. Example: Photoshop files have the extension PSD and the file type is "Adobe Photoshop Image" or something similar. This should remain as it is, as the files can only be opened in Photoshop anyway and are best identified with its Software icon.

I have chosen to break up the predefined file type definitions for images, no matter by which program they have been made. And while I was at it, I have thought of a set of custom icons to stress the difference between the file extensions (see step 3). I have been using this system for over ten years now, and it has turned out the best idea I ever had to organize my work. Well, I may have to give it up as soon as I finally switch to Windows 7.

I recommend the following types:

JPG, JPE, JPEG: Three different extensions for the same file type (among which JPE is rather uncommon though). JPEG images are the compression of choice for photos but they come with a varying loss of quality. They should be distinguished from other file types (with a different name and icon).

GIF: GIF files are best suited for line graphics, they are compressed without loss but limited to 256 colors, which is why they should be a separate type.

PNG: PNG files occupy a niche between JPG and GIF, as they are compressed without loss and are true-color. PNG is suited for web graphics but not for photos.

TIF, TIFF: TIF is a universal platform for lossless image transfer from one program to another and is the base of much of my work. Thus, TIF is a file type of its own.

BMP, PCX: These are file types native to Windows and to the good old Paintbrush. There is no reason to still use them, but many people do, and this is why I have created a file type using them.

To delete & rebuild or to change the file type associations in Windows Explorer, go to:

Tools --> Folder Options... --> File Types

Now you see a list of all registered file associations. The following steps may vary, depending on which software is installed and how the file extensions have previously been combined to types, so here is only a general strategy. As mentioned before, it may be necessary to remove all file types that include any of JPG, JPE, JPEG, GIF, PNG, TIF, TIFF, BMP or PCX and add them (now regrouped) as new types.

Adding new types is quite straightforward, once the old types are gone. You don't need to care about MIME types, just enter the following information into the "New Type..." form:

Description: the designation that is displayed in the file listing, e.g. "JPEG File". The description should include the file extension. Of course, "JPEG File" is a trivial designation, but much better than "YourImagingSoftware Object".

Extension: the extension (s), just the characters after the dot, e.g. "jpg, jpe, jpeg". Try to include alternative extensions of the same file structure, separated with commas.

In addition, you need to define at least one action to be performed. For opening a file on double-click hit "New..." and then enter "open" and the path of the software that's supposed to open (can be selected from a file tree). You may define further tasks, which will be displayed on the right mouse button menu. For instance, if you are using Photoshop as your standard image editor (with double-click), you can define an action named "Open with IrfanView" in addition to that.

Other Icon: You can choose the icon from the assigned software (default), but for efficient working with different image files, I have defined a set of custom icons for the single extensions.

This will cost 10 or 20 minutes and may apparently ruin a few things, but don't worry, it only affects the display and actions in Windows Explorer. Once it's done, it will make work much more efficient. This is how the above file listing may look if the file types are fixed and custom icons are used.

File listing with modified settings and custom icons

Step 3

Now everything still needed is the custom icons. Feel free to use my icons. Before redefining the file types (meaning prior to step 2), you can install them as follows:

Download the ZIP file.

Unzip the icons to a directory, preferably somewhere within your user profile, not among your data.

Assign the icons to your new file types as you like.

I am using lilac for TIF (TIFF), gray for BMP and PCX, blue for PNG, teal for GIF and green for JPG (JPE, JPEG too). Download the icons here:

Windows 7

In Windows 7 it is no longer possible to assign different actions to file types in the context menu or to use custom icons. I have found a little tool called ExtMan that allows to configure the file types as it was possible in Windows XP.

Windows 8 and 10

I won't use Windows 8 or 10 any time soon, because of its lacking efficiency for people who need to *work* with their computer and for reasons of compatibility with old software, so I can't tell if and how a distinction of file types is still possible at all.


Batch Renaming of Files

Renaming files is an essential task for webmasters, as they frequently need to adapt file names to their own or their server's naming conventions. Common tasks include the removal of illegal characters such as spaces or the conversion of the whole name to small letters. Also, for image galleries it is necessary to create a set of thumbnails, and this can be done most efficiently by first creating a copy of the original image directory, then batch renaming the files (I always append "-t" to the file names), and then decreasing the size of the thumbnails without the danger of accidentally overwriting the original files. The thumbnails may be moved to the same directory as the original files again, now that they have a different name.

I was using a small tool named Rname-it for batch renaming for a long time, but it appears to have been discontinued. Anyway, I now have FileMenu Tools, a Windows utility that allows me to add various items to the context menu of Windows Explorer (the "right-click menu"). Among them is an "Advanced Renamer". So I can select files for renaming simply in the Windows Explorer, bring up the context menu, select "Advanced Renamer" and then choose a pattern such as appending a suffix for thumbnails or converting the name and/or the extension to lower case.

There are other (stand-alone) programs that can do much the same and perhaps a bit more, such as notably Advanced Renamer, which includes more renaming methods and an undo function that is missing in the renamer of FileMenu Tools. Anyway, with these tools there is no excuse for bad file names any longer!


File Synchronization & Backup

As I am always commuting between two apartments in both of which I need a computer with internet access, I have chosen the obvious solution to work on a desktop PC in my principal apartment where I spend most of the week, and to take a laptop to my secondary residence when I leave for the weekend. While it is only a bit tiresome but unavoidable to drag along the laptop, the synchronization of my data can be really nasty, from my e-mails to the local copy of my website.

If synchronization were required for just for a small number of files, and for always the same files, I could do that manually using Windows Explorer. Still, I would need to pay close attention when the window would prompt me whether to overwrite each of the files or not. Windows Explorer is quite obviously made for one-time transfers of single files only, not for any kind of batch jobs. I could accidentally replace a more recent version of a file which will inevitably happen sooner or later, leading to a possibly disastrous data loss. Well, there is the Windows Briefcase, but it doesn't work at all for multiple directories, and it requires me to determine in advance what is supposed to be synchronized which is totally out of the question considering that I need to work with some 60,000 files in 3,000 folders that may change every day. I actually never even tried out Briefcase because, just like Windows Explorer, it is only made for the occasional transfer of single files.

Still, synchronizing files is a straightforward task that can be easily automated with the right software. One in which I can define which directories are being synchronized, which files or patterns are supposed to be skipped (to save time), and under which conditions a file may be overwritten. I initially employed a Freeware program which suffered from the bug that it sifted through all directories, even those that I explicitly excluded from the procedure, leading to unacceptable waiting times of more than half an hour. It was not supported any longer, so I decided to abandon it in favor of something new. I found SyncBackSE, which is not only a lot faster because it really skips directories that I want to be excluded, it also has a lot of nifty options. Only that, with its default settings, it still doesn't do exactly what I want.

My idea is that I can synchronize and backup in one step, bearing in mind that a transfer of data to another computer doubles the data integrity and may make additional drives or even DVDs expendable. Well, as I don't want to update/synchronize more than twice a week (on Friday afternoon and Sunday evening, each time I leave and return, respectively), it wouldn't save me from having additional safety measures like a RAID. But I am willing to take the risk of losing something like the work of two or at most three days in cases of a hard disk crash. I backup my whole data to a USB or network drive every few weeks.

Anyway, when I made up my mind about the possibilities of combining a synchronization with a backup, I found that when I am working with a file, the new version is almost always an improvement over the old one. And while I wouldn't keep the old version when working on just one computer, it wouldn't make a lot of sense to keep them on a two-computer configuration either. In other words, unless I decide to retrieve the old file manually because I saved crap, the new version always replaces an old one of the same file in the automatic synchronization, regardless of the direction of the transfer.

But when dealing with files that I have deleted or moved/renamed on one computer A, I found the following different courses of action when transferring the changes to B and back:

1. Stringent alternating synchronization

Both computers A and B are equal. New files created on computer A since the last synchronization will be copied to B. When I delete or rename a file on computer A, the synchronization procedure will accordingly do the same on computer B. In other words, it will essentially delete everything on B which is not exactly the same as on A (with the exception of some files and directories that I can exclude a priori, of course). The direction has to be reversed (synchronization from B to A) after working on B. With Boolean operators the synchronization can be described with A+(A*B) for the direction A to B, and as B+(A*B) for the reverse direction. In other words, it deletes all content that can only be found on the respective target computer.

Side note In this notation the "+" means "logical OR" and the "*" stands for "logical AND", just in case you're wondering.

The stringent synchronization will be fine only as long as I don't accidentally delete anything useful and don't notice it in time, upon which the next synchronization will end up in a total loss of that file. I have decided against this procedure because I don't want to take the risk. Stringent alternating snychronization only increases the data safety in case of a hard disk crash, but doesn't account for the human error in any way.

2. Cumulative backup

Both computers A and B are equal. New files created on computer A since the last synchronization will be copied to B. When I delete or rename a file on computer A, it will have no consequences on the file on computer B when I compare them. The backup procedure will even restore the old file on computer A, although in almost all cases I don't want to have it any longer, because I renamed or removed it for a reason. The procedure and the Boolean description is the same for both directions: A+B. Anything that can be found either on A or on B or on both is preserved.

It is obvious that the cumulative backup procedure, which is performed twice a week, will accumulate a huge amount of redundancy and mere trash that I can only get rid of if I manually delete it on both computers, which can become extremely tiresome. Ultimately the necessity to remove every individual redundant directory or file on a case-by-case basis on both computers bears an enormous risk of a total loss of a useful file. Hence, cumulative backup is not an option for me.

3. Master/slave synchro/backup

Computer A (preferably the desktop) is the master, the laptop B is the slave. Every file that I delete or rename on A will also be deleted or renamed on B. Vice versa, the corresponding changes on B would have no effect on A. So whenever I feel the need to clean up the file system, I can do that on A when I have more time for it anyway. When I'm working on B, I am safe that only edited files will overwrite the corresponding files on A, anything that I inadvertently remove on B will remain without consequences. The Boolean expression is A+(A*B) for the master-slave synchronization and A+B for the slave-master backup.

This is the procedure I have chosen, because it allows me to clean up the directory structure without performing any operation twice, while retaining most advantages of symmetrical backup or synchronization. The master/slave synchro/backup required my to define accordingly asymmetrical settings in SyncBackSE, overriding the default settings that allow to go with either procedure 1. or 2. as outlined above.

I have not suffered any data loss because of my synchro/backup procedure for over twelve years, though I arguably have a lot more data that I need to work with than average users.


See Also

Making of the "Observations" Articles - from the collection of screen caps to the finished "Observations" article


Back to Technical Support index

View as gallery