Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I need to use shortened path names for an application that I am using. For example I need C:\PROGRA~1\ as opposed to C:\Program Files. The program can't handle spaces and won't accept quoted paths e.g. "C:\Program Files".

If it helps, I am using Windows 7. I can get access to any version since XP if necessary.

share|improve this question
add comment

3 Answers

up vote 12 down vote accepted

Start, and type cmd in the run box. Start cmd, and use cd to get to the folder you are interested in:

cd \

Then

dir /x

C:\>dir /x

13/10/2011  09:14 AM    <DIR>          DOCUME~1     Documents and Settings
13/10/2011  09:05 AM    <DIR>          PROGRA~1     Program Files
share|improve this answer
add comment

The "short name" is really the old DOS 8.3 naming convention, so all the directories will be the first 6 letters followed by ~1 assuming there is only one name that matches, for example:

C:\ABCDEF~1 - C:\ABCDEFG I AM DIRECTORY
C:\BCDEFG~1 - C:\BCDEFGHIJKL M Another Directory

here is the only exception

C:\ABCDEF~1 - C:\ABCDEFG I AM DIRECTORY
C:\ABCDEF~2 - C:\ABCDEFGHI Directory as well

share|improve this answer
1  
Not true. Sometimes fewer characters are used, particularly if you are using asian characters, such as Korean. –  Arafangion Sep 5 '13 at 2:04
    
I suppose finding out which one is which in the "exceptional" case is the point of the question - especially as the "exception" regularly occurs in every Windows 64 bit installation, where you may need to know which one out of Program Files and Program Files (x86) is PROGRA~1 and which one is PROGRA~2. Paul's answer solves that issue. –  O. R. Mapper Feb 1 at 12:00
add comment

create a bat file in your current directory and put inside it command.com then you could copy+paste the short path from that path.

You could just run command.com and keep doing cd commands to your current directory too.

In windows batch scripts, %~s1 expands path parameters to short names. Create this batch file:

@ECHO OFF
echo %~s1

I called mine shortNamePath.cmd and call it like this:

c:\>shortNamePath "c:\Program Files (x86)\Android\android-sdk"
c:\PROGRA~2\Android\ANDROI~1

Edit: here's a version that uses the current directory if no parameter was supplied:

@ECHO OFF
if '%1'=='' (%0 .) else echo %~s1

Called without parameters:

C:\Program Files (x86)\Android\android-sdk>shortNamePath
C:\PROGRA~2\Android\ANDROI~1
share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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