{"id":19742873,"url":"https://github.com/kubap/powershell-symlink","last_synced_at":"2025-06-29T15:33:43.930Z","repository":{"id":37464430,"uuid":"303142158","full_name":"KubaP/Powershell-Symlink","owner":"KubaP","description":"Easy and central management of symbolic links on the filesystem, in an improved user experience.","archived":false,"fork":false,"pushed_at":"2021-05-05T12:40:23.000Z","size":1189,"stargazers_count":5,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"development","last_synced_at":"2025-04-30T07:42:27.492Z","etag":null,"topics":["filesystem","management","powershell","symbolic-link","symlink"],"latest_commit_sha":null,"homepage":"","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KubaP.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-10-11T14:42:53.000Z","updated_at":"2024-11-10T07:29:34.000Z","dependencies_parsed_at":"2022-09-05T21:10:42.327Z","dependency_job_id":null,"html_url":"https://github.com/KubaP/Powershell-Symlink","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":"KubaP/Powershell-TEMPLATE","purl":"pkg:github/KubaP/Powershell-Symlink","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KubaP%2FPowershell-Symlink","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KubaP%2FPowershell-Symlink/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KubaP%2FPowershell-Symlink/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KubaP%2FPowershell-Symlink/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KubaP","download_url":"https://codeload.github.com/KubaP/Powershell-Symlink/tar.gz/refs/heads/development","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KubaP%2FPowershell-Symlink/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262618665,"owners_count":23338066,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["filesystem","management","powershell","symbolic-link","symlink"],"created_at":"2024-11-12T01:34:11.436Z","updated_at":"2025-06-29T15:33:43.911Z","avatar_url":"https://github.com/KubaP.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Symlink\nSymlink is a module designed to help manage symbolic links on the filesystem, by improving the user experience and making it easier to create, modify, and remove symlinks.\n\nThis module is aimed at anyone who manages many symlinks on their system, either on a singular machine or on multiple ones. There are extra features in this module which allow the same symlink database to work on multiple systems with varying requirements.\n\n\u003cbr\u003e\n\n[![Azure DevOps builds](https://img.shields.io/azure-devops/build/kubap999/5cdef75c-a7db-45a8-883a-be12879edc97/13?label=latest\u0026logo=azure-pipelines)](https://dev.azure.com/KubaP999/Symlink/_build?definitionId=13)\n[![PowerShell Gallery Version](https://img.shields.io/powershellgallery/v/symlink?include_prereleases\u0026logo=powershell\u0026logoColor=white)](https://www.powershellgallery.com/packages/Symlink)\n![PowerShell Gallery Platform](https://img.shields.io/powershellgallery/p/symlink?logo=windows\u0026logoColor=white)\n[![License](https://img.shields.io/badge/license-GPLv3-blue)](./LICENSE)\n\n### Table of Contents\n1. [Getting Started](#getting-started)\n2. [Information \u0026 Features](#information--features)\n3. [Build Instructions](#build-instructions)\n4. [Support](#support)\n5. [Contributing](#contributing)\n6. [License](#license)\n\n## Getting Started\n### Installation\nIn order to get started with the latest version, simply download the module from the [PSGallery](https://www.powershellgallery.com/packages/Symlink), or install it from powershell by running:\n```powershell\nInstall-Module Symlink\n```\nInstalling this module does not mean that it is loaded automatically on start-up. Powershell supports loading modules on-the-fly since v3, however the first time you run a command it can be a bit slow to tab-complete parameters or values. If you would like to load this module on shell start-up, add the following line to `~\\Documents\\Powershell\\Profile.ps1`:\n```powershell\nImport-Module Symlink\n```\n\n### Requirements\nThis module requires minimum `Powershell 6`.\n\nThis module works on **Windows** only.\n\n### Creating a new Symlink\nTo create a new symlink, run:\n```powershell\nPS C:\\\u003e New-Symlink -Name \"data\" -Path \"~\\Documents\\Data\" -Target \"D:\\Files\"\n```\nThis command will create a new symlink definition, named `data`, and a\nsymbolic-link located in the user's document folder under a folder also\nnamed `Data`, pointing to a folder on the `D:\\` drive.\n\n### Retrieving the details of a Symlink\nTo retrieve the details of a symlink, run:\n```powershell\nPS C:\\\u003e Get-Symlink -Name \"data\"\n```\nThis command will retrieve the details of the symlink named `data`, and\noutput the information to the screen.\n\n### Removing a Symlink\nTo remove a symlink, run:\n```powershell\nPS C:\\\u003e Remove-Symlink -Name \"data\"\n```\nThis command will remove a symlink definition, named `data`, and delete the\nsymbolic-link item from the filesystem.\n\n## Information \u0026 Features\n### Documentation\nFor a detailed rundown and explanation of all the features in this module, view the **help page** by running:\n```powershell\nGet-Help about_Symlink\n```\nFor detailed help about a specific command, run:\n```powershell\nGet-Help \u003cCOMMAND NAME\u003e -Full\n```\n\n### Extra features\n#### Aliases\nThe cmdlets in this module have default aliases:\n|Cmdlet \t     |Alias|\n|----------------|-----|\n|New-Symlink     | nsl |\n|Get-Symlink     | gsl |\n|Set-Symlink     | ssl |\n|Remove-Symlink  | rsl |\n|Build-Symlink   | bsl |\n\n#### Tab completion\nThe `-Name`/`-Names` parameter supports tab-completion of valid **existing** symlink names in the following cmdlets:\n- `Get-Symlink`\n- `Set-Symlink`\n- `Remove-Symlink`\n- `Build-Symlink`\n\n#### Custom scriptblock evaluation\nWhen creating a new symlink, you can pass in a scriptblock which will evaluate whether the symbolic-link item should get created on the filesystem.\n\nFor details, see the `CREATION CONDITION SCRIPTBLOCK` section in the help at: `about_Symlink`.\n\n#### -WhatIf and -Confirm support\nThe following cmdlets support `-WhatIf` and `-Confirm` parameters:\n- `New-Symlink`\n- `Remove-Symlink`\n- `Set-Symlink`\n- `Build-Symlink`\n\nUse `-WhatIf` to see a list of what changes a cmdlet will do.\n\nUse `-Confirm` to ask for a prompt for every state-altering change.\n\n#### Formatting\nThe `[Symlink]` object within this module has custom formatting rules for all views. Simply pipe the output of the `Get-Symlink` cmdlet to one of:\n| Cmdlet        | Alias |\n|---------------|-------|\n| Format-List   |  fl   |\n| Format-Table  |  ft   |\n| Format-Custom |  fc   |\n| Format-Wide   |  fw   |\n\nThe `Format-Custom` \u0026 `Format-List` views contain the largest amount of information regarding the symlink.\n\n⚠This module supports \"Fancy\" formatting (using extra ANSI codes and emoijs) for enhanced readability. This *only* works within the **Windows Terminal** at the moment (I've not tested this on other terminal emulators, but if you know that they support these extra formatting features then let me know). The example below shows the enhanced formatting.\n\n![Example](./example.png)\n\n## Build Instructions\n#### Prerequisites\nInstall the following:\n- Powershell Core 7.0.0+\n- Pester **4.10.1**\n- PSScriptAnalyzer 1.18.0+\n\n#### Clone the git repo\n```\ngit clone https://github.com/KubaP/Powershell-Symlink.git\n```\n\n#### Run the build scripts\nNavigate to the root repository folder and run the following commands:\n```powershell\n\u0026 .\\build\\vsts-prerequisites.ps1\n\u0026 .\\build\\vsts-validate.ps1\n\u0026 .\\build\\vsts-build-prerequisites\n\u0026 .\\build\\vsts-build.ps1 -WorkingDirectory .\\ -SkipPublish\n```\nThe built module will be located in the `.\\publish` folder.\n\n## Support\n⚠If you need help regarding the usage of the module, please see the **help page** by running `Get-Help about_Symlink`.\n\nIf there is a bug/issue, please file it on the github issue tracker.\n\n## Contributing\nIf you have a suggestion, create a new **Github Issue** detailing the idea.\n\nFeel free to make pull requests if you have an improvement. Only submit a single feature at a time, and make sure that the code is cleanly formatted, readable, and well commented.\n\n## License \nThis project is licensed under the GPLv3 license - see [LICENSE.md](./LICENSE) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkubap%2Fpowershell-symlink","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkubap%2Fpowershell-symlink","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkubap%2Fpowershell-symlink/lists"}