Create a bat file in some convenient directory
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
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
Using SET and a named variable
Windows Command Prompt has some conventions for handling variables
with spaces in their values that are somewhat hard to learn and understand,
especially if you have a Unix background.
You can do
SET TESTPATH=c:\Program Files (x86)\Android\android-sdk
(with no quotes), or
SET "TESTPATH=c:\Program Files (x86)\Android\android-sdk"
(note the non-intuitive placement of quotes); then
CALL :testargs "%TESTPATH%"
︙
:testargs
echo %~s1
goto :eof
/sswitch does subfolder recursion – Paul May 06 '15 at 21:43MKLINK.EXEtool. or my option of choice, the Junction utility from Sysinternals: https://docs.microsoft.com/en-us/sysinternals/downloads/junction . Open a command prompt in the directory containing the subdirectory with spaces in its name, and enterJunction shortname "Long Name With Spaces". – dgnuff Nov 03 '18 at 21:19cdlike this:dir C:\Path\To\Directory /X– BadHorsie Jan 20 '21 at 14:05