files-community / files-community/Files

Feature: Full support for soft links/system links/junctions & hardlinks

Open
#9,991 10 comments 18 reactions 0 assignees View on GitHub
area - file system
Dominant language
C#
Stars
45.4k
Forks
2.9k
Avg merge
19h 7m
Merged PRs (30d)
62

Description

### What feature or improvement do you think would benefit Files?

Currently, Files can only create Windows Explorer Shortcuts/Links(.lnk files). These are nowhere near as useful as real softlinks & hardlinks.

Windows/NTDS supports both softlinks/symlinks/junctions & hardlinks: https://docs.microsoft.com/en-us/windows/win32/fileio/hard-links-and-junctions

Currently Files shows the little shortcut arrow overlaid onto the icons for files or folders which are Junctions, but the properties dialog doesn't know about junctions.

### Requirements

- Be able to + drag and drop a file or folder to create a softlink or a harlink
- Be able to New... to create a soft or hard link in a folder, pointing to a destination chosen by the user
- Be able to copy, rename & delete soft/hardlinks independently of the files/folders they point to
- The properties dialog will know about junction & reparse points and tell you:
- The type of link: softlink/hardlink/etc...
- The destination of the link
- Like: https://schinagl.priv.at/nt/hardlinkshellext/linkshellextension.html

### Files Version

Version: 2.3.11.0

### Windows Version

Windows 10: 10.0.19044.1889

### Comments

_No response_

Contributor guide

Open the contributing guide

Research direction

Start by reviewing Files' existing Windows Explorer shortcut handling and the properties dialog, then consult the linked Microsoft documentation on hard links and junctions. The work is done when users can create, copy, rename, and delete soft links and hard links independently, and properties identify the link type, destination, junctions, and reparse points.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
desktop, operating-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.