winattr v3.0.0
winattr

Foolproof Windows® file attributes for Node.js
Get and set:
archivehiddenreadonlysystem
… 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 >= 8 is required. To install, type this at the command line:
npm install winattrMethods
get(path, callback)
path - Path to file or directorycallback(err,attrs) - A callback which is called upon completion
winattr.get('path/to/file.ext', (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.
const attrs = winattr.getSync('path/to/file.ext');
console.log(attrs);set(path, attrs, callback)
path - Path to file or directoryattrs - An object containing attributes to changecallback(err) - A callback which is called upon completion
winattr.set('path/to/folder/', {readonly:true}, err => {
if (err == null) {
console.log('success');
}
});setSync(path, attrs)
path - Path to file or directoryattrs - 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});