Microsoft KB Archive/226403

= Short (8.3) File Names May Change When Copied =

Article ID: 226403

Article Last Modified on 2/25/2007

-

APPLIES TO


 * Microsoft Windows 2000 Server
 * Microsoft Windows 2000 Advanced Server
 * Microsoft Windows 2000 Professional Edition
 * Microsoft Windows 2000 Datacenter Server

-



This article was previously published under Q226403



SYMPTOMS
If you have a large number of files that were created in Microsoft Windows 95 or Microsoft Windows 98 that have similar long file names (LFNs) and you copy those files using Windows 2000, the LFNs may change.



CAUSE
Windows 2000 uses a different algorithm for creating short (8.3) file name aliases for LFNs than does Windows 95 or Windows 98. Windows 95/98 and Windows 2000 all create 8.3 aliases by using the first six characters of the file name and appending "~1" (or another number). For example, the "Month end report for January.txt" file name becomes Monthe~1.txt.

However, unlike Windows 95/98, if more than four files result in the same first six characters, Windows 2000 uses a different procedure starting with the fifth file. Windows 2000 then:
 * Uses the first two letters of the long file name.
 * Generate the next four letters of the short file name by manipulating the remaining letters of the LFN.
 * Appends "~1" (or another number).

For example, the "Month end report for January.txt" file name may become Modrjy~1.txt.



RESOLUTION
8.3 file name aliases may change when you copy files from one folder to another for a number of reasons. If you must use 8.3 file names, it may be best not to give the files LFNs. Also, it is good practice not to use LFNs that create a large number of similar 8.3 aliases. For example, instead of using a "Month end report for January.txt" file name, use "January month end report.txt" for the file name. As a result, the "February month end report.txt" file generates a significantly different 8.3 alias.



MORE INFORMATION
To display both long and short file names automatically when you use the dir command, use the System tool in Control Panel to set the DIRCMD variable to the value /x.

Keywords: kbprb kbshell KB226403

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.