Skip to content

Do network drive stuff on Microsoft Window in node

License

Notifications You must be signed in to change notification settings

Nytrm/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

About

Do network drive stuff on Microsoft Window in node

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%