Skip to content
Foolproof Windows® file attributes.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib
test
.gitignore
.travis.yml
README.md
appveyor.yml
license
package.json

README.md

winattr NPM Version Linux Build Windows Build Dependency Status

Foolproof Windows® file attributes for Node.js

Get and set:

  • archive
  • hidden
  • readonly
  • system

… on files and/or directories.

A native binding is used, offering great performance. As a contingency in case that fails, functionality will silently revert to a command line, though it is considerably slower.

Installation

It may go without saying, but this library is not intended to run on anything other than Windows.

Node.js >= 4 is required. To install, type this at the command line:

npm install winattr

Methods

get(path, callback)

path - Path to file or directory
callback(err,attrs) - A callback which is called upon completion

winattr.get("path/to/file.ext", function(err, attrs) {
	if (err == null) console.log(attrs);
});

getSync(path)

path - Path to file or directory

Returns an Object or throws an error if the file or dir cannot be found/accessed.

var attrs = winattr.getSync("path/to/file.ext");

console.log(attrs);

set(path, attrs, callback)

path - Path to file or directory
attrs - An object containing attributes to change
callback(err) - A callback which is called upon completion

winattr.set("path/to/folder/", {readonly:true}, function(err) {
	if (err == null) console.log("success");
});

setSync(path, attrs)

path - Path to file or directory
attrs - An object containing attributes to change

Throws an error if the file or dir cannot be found/accessed.

winattr.setSync("path/to/folder/", {readonly:true});

Changelog

  • 2.0.0 removed support for Node.js v0.10 and v0.12
  • 1.1.0 added binding support to Node.js v4
  • 1.0.0
    • added getSync(),setSync()
    • removed useExec(),useNative()
    • uses binding by default, with auto-fallback to shell
  • 0.2.3 specify which script engine to use in useExec() "mode"
  • 0.2.2 switched from fswin.find() to fswin.getAttributes() now that it's available, tested non-existent files
  • 0.2.1 nearly pointless fix
  • 0.2.0 added fswin,useExec(),useNative()
  • 0.1.2 tested on Windows
  • 0.1.1 package.json optimization
  • 0.1.0 initial release
You can’t perform that action at this time.