Win32-2.12.0.1: A binding to Windows Win32 API.
Copyright2012 shelarcy
LicenseBSD-style
Maintainershelarcy@gmail.com
StabilityProvisional
PortabilityNon-portable (Win32 API)
Safe HaskellSafe-Inferred
LanguageHaskell2010

System.Win32.SymbolicLink

Description

Handling symbolic link using Win32 API. [Vista of later and desktop app only]

Note: When using the createSymbolicLink* functions without the SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE flag, you should worry about UAC (User Account Control) when use this module's function in your application:

  • require to use 'Run As Administrator' to run your application.
  • or modify your application's manifect file to add <requestedExecutionLevel level=requireAdministrator uiAccess=false/>.

Starting from Windows 10 version 1703 (Creators Update), after enabling Developer Mode, users can create symbolic links without requiring the Administrator privilege in the current process. Supply a True flag in addition to the target and link name to enable this behavior.

Synopsis

Documentation

createSymbolicLink Source #

Arguments

:: FilePath

Target file path

-> FilePath

Symbolic link name

-> SymbolicLinkFlags 
-> IO () 

createSymbolicLink* functions don't check that file is exist or not.

NOTE: createSymbolicLink* functions are flipped arguments to provide compatibility for Unix, except createSymbolicLink'.

If you want to create symbolic link by Windows way, use createSymbolicLink' instead.

createSymbolicLink' Source #

Arguments

:: FilePath

Symbolic link name

-> FilePath

Target file path

-> SymbolicLinkFlags 
-> IO () 

createSymbolicLinkFile Source #

Arguments

:: FilePath

Target file path

-> FilePath

Symbolic link name

-> Bool

Create the symbolic link with the unprivileged mode

-> IO () 

createSymbolicLinkDirectory Source #

Arguments

:: FilePath

Target file path

-> FilePath

Symbolic link name

-> Bool

Create the symbolic link with the unprivileged mode

-> IO ()