Shortcut (computing)

In computing, a file shortcut is a handle in a user interface that allows the user to find a file or resource located in a different directory or folder from the place where the shortcut is located. Similarly, an Internet shortcut allows the user to open a page, file or resource located at a remote Internet location or Web site.

Shortcuts are typically implemented as a small file containing a target URI or GUID to an object, or the name of a target program file that the shortcut represents. The shortcut might additionally specify parameters to be passed to the target program when it is run. Each shortcut can have its own icon. Shortcuts are very commonly placed on a desktop, in an application launcher panel such as the Microsoft Windows Start menu, or in the main menu of a desktop environment. The functional equivalent in the Macintosh operating system is called an alias. Unix-like systems have symbolic links which point to a target file, and often support  files which provide additional configuration details.

Microsoft Windows
File shortcuts (also known as shell links) were introduced in Windows 95. Microsoft Windows uses  as the filename extension for shortcuts to local files, and   for shortcuts to remote files, like web pages. Commonly referred to as "shortcuts" or "link files", both are displayed with a curled arrow overlay icon by default, and no filename extension. (The extension remains hidden in Windows Explorer even when "Hide extensions for known file types" is unchecked in File Type options, because it is controlled by the  option in   in the Registry.  The   option causes the arrow to be displayed.) Shortcut files can be used to launch programs in minimized or maximized window states if the program supports it.

Microsoft Windows  files operate as Windows Explorer extensions, rather than file system extensions. As a shell extension,  files cannot be used in place of the file except in Windows Explorer, and have other uses in Windows Explorer in addition to use as a shortcut to a local file (or GUID). These files also begin with "L".

Although shortcuts, when created, point to specific files or folders, they may break if the target is moved to another location. When a shortcut file that points to a nonexistent target is opened, Explorer will attempt to repair the shortcut. Windows 9x-based versions of Windows use a simple search algorithm to fix broken shortcuts. On Windows NT-based operating systems and the NTFS file system, the target object's unique identifier is stored in the shortcut file and Windows can use the Distributed Link Tracking service for tracking the targets of shortcuts, so that the shortcut may be silently updated if the target moves to another hard drive. Windows Installer, introduced in Windows 2000, added another special type of shortcuts called "Advertised Shortcuts."

File shortcuts in Windows can store a working directory path besides the target path. Environment variables can be used. A hotkey can be defined in the shortcut's properties for shortcuts that are located in the Start Menu folders, pinned to the Taskbar or the Desktop. In Windows 2000 onwards, file shortcuts can store comments which are displayed as a tooltip when the mouse hovers over the shortcut.

Generally, the effect of double-clicking a shortcut is intended to be the same as double-clicking the application or document to which it refers, but Windows shortcuts contain separate properties for the target file and the "Start In" directory. If the latter parameter is not entered, attempting to use the shortcut for some programs may generate "missing DLL" errors not present when the application is accessed directly.

File system links can also be created on Windows systems (Vista and up). They serve a similar function, although they are a feature of the file system. Windows shortcuts are files and work independently of the file system, through Explorer.

Beginning with Windows 7, some shortcuts also store Application User Model IDs (AppUserModelIDs). Instead of the target command line, AppUserModelIDs may directly be used to launch applications. Shortcuts with AppUserModelIDs are used by some desktop programs and all WinRT Modern/Universal Windows Platform apps for launching.

Although Windows does not provide convenient tools to create it, Explorer supports a "folder link" or "shell link folder": a folder with the system attribute set, containing a hidden "desktop.ini" (folder customization) file which tells Explorer to look in that same folder for a "target.lnk" shortcut file pointing to another folder. When viewed in Explorer, the shell link folder then appears to have the contents of the target folder in it—that is, the customized folder becomes the effective shortcut. This technique is used by Microsoft Windows for items like WebDAV folders. The advent of file system links in Windows Vista and up has made shell link folders less useful.

There is another type of file that is similar to a  file, but has the extension. This is used to reference a track (song) on a CD (in standard CDDA / RedBook format).

Unix
On Unix-like systems such as Linux and BSD, a simple pointer to a target file or directory is implemented in the operating system as a symbolic link.

When the target is a program, many graphical user interfaces support  and  files. The format of these plain text files follows the 'desktop entry' specification by freedesktop.org, and besides the location of the program they can provide an icon, a tooltip and other details.

Mac
Macintosh does not have extensions for shortcuts. A file type called "alias" was introduced in Macintosh System 7; it tracks information like inode number to handle moves. Aliases in System 7 through Mac OS 9 were distinguished from other files by using names in italics. In Mac OS 8.5 and later, another distinguishing mark was added: an "alias arrow" –a black arrow with a thin, white border – similar to that used for shortcuts in Microsoft Windows. In Mac OS X, the names of aliases are no longer italicized, but the arrow badge remains. Additionally, an alias retains its dynamic reference to an object and does not have to be specified even when calling files on remote servers.

In addition, symbolic links can be created within the Unix subsystem. The Safari browser has its own property list-based format, .webloc, for storing Internet URLs.

History
To execute an application or render a file in early graphical user interfaces, the user had to click on the representation of the actual file or executable in the location where the application or file was. The concept of disassociating the executable from the icon representing an instruction to perform a task associated with that file or executable so that they may be grouped by function or task rather than physical organisation in the file structure was first described in the research paper "A Task Oriented Front End For The Windows Graphical User Interface", by Mike Roberts, published in 1991 by Kingston University and presented to both Microsoft and Xerox EuroPARC that same year under an academia/business technology sharing agreement. A simplified form of this research was incorporated into System 7 in 1991, and four years later into Windows 95.