노드 FFI 모듈을 사용 중이고 Windows에서 동기화 작업을 실행하려고합니다. 다음 코드를 사용하여 작업을 성공적으로 실행할 수 있습니다.Windows에서 node.js를 사용하여 동기 작업 실행
var ffi=require('ffi')
var nativeC = new ffi.Library("Kernel32", {
"WinExec": ["int32", ["string"]]
});
nativeC.WinExec('ls -lrt');
이것은 동기화 작업을 실행하는 방법이라고 생각하지만이 코드는 첫 번째 'ls -lrt'명령 이후에 항상 종료됩니다. 몇 가지 명령을 연결하면 작동하지 않습니다. 그래서 여기에 FFI 모듈에 콜백 함수가 있습니까? 아니면 Windows에서 node.js의 명령을 연결할 수있는 다른 방법으로, 하나씩 차례대로 실행됩니다.
['ls'] (http://linux.die.net/man/1/ls)는 일반적으로 Windows [PowerShell 외부] (http://technet.microsoft.com/en-us/library/hh849800.aspx)에서 사용할 수 없으며'-lrt' 옵션을 인식하지 못합니다. 이 명령은'cmd.exe'에서 작동합니까? 여러 사용자의 경우? –
그래서 저는 힘내 배쉬를 사용하고 있습니다. 그래서 ls를 사용할 수 있습니다. 게시하는 것을 생각했기 때문에 미안합니다. – anonymous123
'nativeC.WinExec ('bash -c "ls -lrt"');'시도해보십시오. 스크립트를 실행하기 위해 bash를 사용하더라도 ['WinExec()'는 그것을 사용하지 않는 것처럼 보입니다.] (http://msdn.microsoft.com/en-us/library/windows/desktop/ms687393) .aspx) (두 번째 인수 참고). –