Skip to content

larrybahr/windows-network-drive

Repository files navigation

windows-network-drive

Allows a user to do network drive stuff on Microsoft Windows from node js

See release notes for breaking changes and migration info

Installation

$ npm install windows-network-drive

Features

  • Mount a network drive that will persist after reboot
  • Unmount a network drive
  • Get a list of all network drives
  • Find if a path is already mounted and get the drive letter
  • Convert Unix paths to Windows friendly paths
  • TypeScript types included

Methods

All examples assume:

let networkDrive = require('windows-network-drive');

find

Finds if a path is already mounted and returns all drive letters that point to that exact path.

find(drivePath: string): Promise<{status: boolean, driveLetter: string, path: string, statusMessage: string}[]>

Examples

 networkDrive.find("\\\\DoesExist\\Path")
 .then(function (result)
 {
	 // result === [{status: true, driveLetter: "Z", path: "\\\\DoesExist\\Path", "statusMessage": "OK"}]
 });

  networkDrive.find("\\\\DoesExist\\Path\\ThisFolderIsNotPartOfTheMountPath")
 .then(function (driveLetter)
 {
	 // driveLetter === []
 });

 networkDrive.find("\\\\DoesNOTExist\\Path")
 .then(function (driveLetter)
 {
	 // driveLetter === []
 });

list

List all network drives and their paths.

list(void): Promise<object>

Examples

 // With network drives
 networkDrive.list()
 .then(function (drives)
 {
	 /*
		drives = {
			"F": { "status": true, "driveLetter": "F", "path": "\\\\NETWORKA\\Files", "statusMessage": "OK" },
			"K": { "status": true, "driveLetter": "K", "path": "\\\\NETWORKB\\Files", "statusMessage": "OK" }
		}
	*/
 });

 // No network drives
 networkDrive.list()
 .then(function (drives)
 {
	 // drives = {}
 });

mount

Mounts a network drive path and returns the new drive letter.

mount(drivePath: string, driveLetter?: string, username?: string, password?: string): Promise<string>

Examples

 networkDrive.mount("\\\\DoesExist\\Path\\Files", "F", undefined, undefined)
 .then(function (driveLetter)
 {
	 // driveLetter = "F"
 });

unmount

Unmounts a network drive.

unmount(driveLetter: string): Promise<void>

Examples

 networkDrive.unmount("F")
 .then(function ()
 {
	 // done
 });

pathToWindowsPath

Converts a valid file system path to a Windows friendly path.

NOTE: All methods can take in a non Windows friendly path. This is exported for user convenience.

pathToWindowsPath(drivePath: string): Promise<string>

Examples

 networkDrive.pathToWindowsPath("//DoesExist/Path/Files")
 .then(function (windowsPath)
 {
	 // windowsPath = \\\\DoesExist\\Path\\Files
 });

isWinOs

Test the current OS is Windows.

isWinOs(void): boolean

Examples

 if (true ===networkDrive.isWinOs())
 {
	 console.log("This is running on Windows");
 }

More Examples

For more examples, check out the example folder in the GitHub repo!

Tests

To run the test suite, first install the dependencies, then run npm test:

$ npm install
$ npm test

Contributing

In lieu of a formal style guide, take care to maintain the existing coding style.

  • Format code with VS Code, using the default "Typescript and JavaScript Language Features" formatter.
  • Add unit tests for any new or changed functionality.
  • Lint and test your code.

People

Author and list of all contributors can be found in package.json

License

MIT