shell
Manage files and URLs using their default applications.
Process: Main, Renderer (non-sandboxed only)
The shell module provides functions related to desktop integration.
An example of opening a URL in the user's default browser:
const { shell } = require('electron')
shell.openExternal('https://github.com')
Note: While the shell module can be used in the renderer process, it will not function in a sandboxed renderer.
Methods
The shell module has the following methods:
shell.showItemInFolder(fullPath)
fullPathString
Show the given file in a file manager. If possible, select the file.
shell.openPath(path)
pathString
Returns Promise<String> - Resolves with a string containing the error message corresponding to the failure if a failure occurred, otherwise "".
Open the given file in the desktop's default manner.
shell.openExternal(url[, options])
urlString - Max 2081 characters on windows.optionsObject (optional)activateBoolean (optional) macOS -trueto bring the opened application to the foreground. The default istrue.workingDirectoryString (optional) Windows - The working directory.
Returns Promise<void>
Open the given external protocol URL in the desktop's default manner. (For example, mailto: URLs in the user's default mail agent).
shell.moveItemToTrash(fullPath[, deleteOnFail]) Deprecated
fullPathStringdeleteOnFailBoolean (optional) - Whether or not to unilaterally remove the item if the Trash is disabled or unsupported on the volume. macOS
Returns Boolean - Whether the item was successfully moved to the trash or otherwise deleted.
NOTE: This method is deprecated. Use
shell.trashIteminstead.
Move the given file to trash and returns a boolean status for the operation.
shell.trashItem(path)
pathString - path to the item to be moved to the trash.
Returns Promise<void> - Resolves when the operation has been completed.
Rejects if there was an error while deleting the requested item.
This moves a path to the OS-specific trash location (Trash on macOS, Recycle Bin on Windows, and a desktop-environment-specific location on Linux).
shell.beep()
Play the beep sound.
shell.writeShortcutLink(shortcutPath[, operation], options) Windows
shortcutPathStringoperationString (optional) - Default iscreate, can be one of following:create- Creates a new shortcut, overwriting if necessary.update- Updates specified properties only on an existing shortcut.replace- Overwrites an existing shortcut, fails if the shortcut doesn't exist.
optionsShortcutDetails
Returns Boolean - Whether the shortcut was created successfully.
Creates or updates a shortcut link at shortcutPath.
shell.readShortcutLink(shortcutPath) Windows
shortcutPathString
Returns ShortcutDetails
Resolves the shortcut link at shortcutPath.
An exception will be thrown when any error happens.

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.
