How to? List path getting short file and directory names...

  • This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.
To start, console output:
[C:\Program Files (x86)\Microsoft Office\OFFICE11]*dir winword.exe /s /f /x
C:\Program Files (x86)\Microsoft Office\OFFICE11\WINWORD.EXE

[C:\Program Files (x86)\Microsoft Office\OFFICE11]
From the help file:

/X Display... /X also selects short file names in the /2,/4, /B, /W , and /Z displays, and
short file and path names in the /F display

What am I misunderstanding?
I have read that this works.

fsutil.exe behavior set disable8dot3 0
I suspect that will set HKLM\SYSTEM\CurrentControlSet\Control\FileSystem\NtfsDisable8dot3NameCreation to 0.

I don't know if a restart is needed.
Windows 7.

And if I try the command:
fsutil behavior set disable8do3 C: 0
I get:
Usage : fsutil behavior set <option> <value>

<option>  <values>

AllowExtChar  1 | 0
BugcheckOnCorrupt  1 | 0
Disable8dot3  [0 through 3] | [<Volume Path> 1 | 0]
DisableCompression  1 | 0
DisableEncryption  1 | 0
DisableLastAccess  1 | 0
EncryptPagingFile  1 | 0
MftZone  1 through 4
MemoryUsage  1 through 2
QuotaNotify  1 through 4294967295 seconds
SymlinkEvaluation  [L2L:{0|1}] | [L2R:{0|1}] | [R2R:{0|1}] | [R2L:{0|1}]
DisableDeleteNotify  1 | 0

Some of these options require a reboot to take effect.

Please use "fsutil behavior set Disable8dot3 /?" for more information.

Sample SymlinkEvaluation command:
  "fsutil behavior set SymlinkEvaluation L2L:1 L2R:0"
  - Will enable local to local symbolic links and disable local to
  remote symbolic links. It will not change the state of remote to
  remote links or remote to local links.
  - This operation takes effect immediately (no reboot required)
and I get absolutely the same output if I do:
fsutil behavior set disable8do3 /?
Could be I just don't know what the parameters need to be but the help doesn't really tell me.

Charles Dye

Super Moderator
Staff member
May 20, 2008
Albuquerque, NM

And if I try the command:
fsutil behavior set disable8do3 C: 0
I get:
Usage : fsutil behavior set <option> <value>
Should be DISABLE8DOT3 -- you're missing the 'T'.

Mind you, that will allow Windows to create DOS-compatible filenames for new files and directories. I don't believe it will automagically generate short filenames for files and directories which already exist!
Thank you, Charles, that was the problem. (As I've said in the past my eyesight ain't too good.) And considering the fact that it did not do anything but display a "Success" message and didn't require a reboot I would tend to think that you are correct about it only affecting file names that will be created in the future. And I could be wrong about this but my recollection is that NTFS makes space for 8.3 names no matter what it seems kind of strange to me that you can turn this behavior off.
Guys I am coming back to this because it is an issue for me over and over and it is why I wanted short file names to exist. And that is that the "Start" command just starts a new TCC session when what is being started contains blanks because the quoted string is taken as being the title on the window that is opened when you do the "Start" command because "Start" without a program/directory name just starts a new TCC instance (and the title does not even appear on that window except very briefly when you do this). (I will note here that this is only an issue for data files use to start an application (such as "Start Speadsheet.xls to start Excel) and directory names (to open a GUI window on that directory) because I don't normally create programs that have spaces in their names. One solution is to use the "/PGM" parameter on the "start" command, but I don't normally do that (particularly because file and directory names are not "programs") and old habits die hard. (Typically I can very quickly determine what the short file name for anything will be without even thinking about it too much.) However I will note that that doesn't work very well when the multiple files/directories with long names resolve to basically the same short names that are distinguished by "~" followed by a number at the end of the short name. In that case the wrong directory is opened up which I then close and redo the command using the "/PGM" parameter followed by the long file name (enclosed in double quotes of course).
Last edited: