Web lists-archives.com

# Re: cygpath -w converts relative paths to absolute windows paths

• Date: Thu, 9 Feb 2017 12:17:13 +1100
• From: Roger Qiu <roger.qiu@xxxxxxxxxxxxxx>
• Subject: Re: cygpath -w converts relative paths to absolute windows paths

```Hi Andrey,

That was probably true in the past, but no longer!

```
I just tested this: `mklink /D testlink "..\All Users"` in cmd and then I went to Cygwin ZSH, and ran `ll`.
```
This showed me: `testlink -> '../All Users'/`.

```
Up one directory relative links do work on Windows! This is a directory symbolic link, which is superior to directory junctions.
```
```
Regardless of directory junction support (which I didn't test), I think `cygpath` should give the right results, when I don't specify an absolute path, I really mean give me the windows version of the relative path.
```
```
Now maybe there's some backwards compatibility issues, then perhaps a flag that can be set to mean `--really-relative`.
```
Thanks,

Roger

On 8/02/2017 2:30 AM, Andrey Repin wrote:
```
```Greetings, Roger Qiu!

```
```Hi,
I've found that `cygpath --windows '../` will give back an absolute
windows path.
I thought this would only happen if you provide the `--absolute` flag,
or when the path is a special cygwin path.
```
```".." is a special path, that can't be safely converted.
In all cases, using absolute path is preferred for many reasons.

```
```But this occurs just for normal directories.
I have come across a situation where I need to convert ntfs symlinks to
them. Now by using cygpath --windows, I get back absolute paths, which
means the integrity of the symlink isn't preserved.
Can `cygpath --windows '../directory'` give back `..\directory` for
paths aren't special cygwin paths? These relative backslashes are
supported in Windows right now.
```
```AFAIK, Windows do not support relative junction points.

```
```
--