【发布时间】:2013-07-08 21:19:18
【问题描述】:
我正在使用 Node FFI 模块并尝试在 Windows 上运行同步任务。我可以使用以下代码成功运行任务。
var ffi=require('ffi')
var nativeC = new ffi.Library("Kernel32", {
"WinExec": ["int32", ["string"]]
});
nativeC.WinExec('ls -lrt');
我认为这是执行同步任务的方式,但此代码总是在第一个“ls -lrt”命令之后退出;如果我链接更多命令,它们将无法工作。那么,这里是否有一个回调函数,在 FFI 模块中,或者我可以在 Windows 上的 node.js 中链接命令的另一种方式,以便它们一个接一个地同步运行。
【问题讨论】:
-
ls在 Windows outside of PowerShell 中通常不可用(并且无法识别-lrt选项)。该命令在cmd.exe中有效吗?对于多个用户? -
所以,我正在使用 Git bash,所以我可以使用 ls,我想发布它,所以很抱歉我没有。
-
试试
nativeC.WinExec('bash -c "ls -lrt"');。即使您使用bash执行脚本,WinExec()doesn't seem to use it(注意它的第二个参数)。
标签: node.js windows synchronization node-ffi