我想编写一个JavaScript函数,它可以执行系统shell命令(例如
我该如何实现这个功能?
ls
)并返回结果值。我该如何实现这个功能?
ls
)并返回结果值。npm install [-g] shelljs
。var shell = require('shelljs');
shell.ls('*.js').forEach(function (file) {
// do something
});
var shell = new ActiveXObject("WScript.Shell");
shell.run("cmd /c dir & pause");
使用nashorn,您可以编写以下类似的脚本:
$EXEC('find -type f');
var files = $OUT.split('\n');
files.forEach(...
...
并运行它:
jjs -scripting each_file.js
const fs = require('fs');
function ls(startPath) {
fs.readdir(startPath, (err, entries) => {
console.log(entries);
})
}
ls('/home/<profile_name>/<folder_name>')
这里使用的startPath是参考debian发行版的。
Js 文件
var oShell = new ActiveXObject("Shell.Application");
oShell.ShellExecute("E:/F/Name.bat","","","Open","");
Bat文件
powershell -Command "& {ls | Out-File -FilePath `E:F/Name.txt}"`
使用Node运行JS文件,命令为node namefile.js
const fs = require('fs')
fs.readFile('E:F/Name.txt', (err, data) => {
if (err) throw err;
console.log(data.toString());
})
您也可以使用异步函数在一个解决方案中完成所有操作。但是需要注意,这样可能会存在安全问题。