javascript - nodejs从nodejs应用程序的不同文件夹执行二进制文件
问题描述
我有一个 nodejs 应用程序从文件夹 A 执行一个二进制 X 也在文件夹 A 中(使用子进程exec
)。二进制 X 在文件夹 A 中生成输出文件 O,因此总是从哪里调用。
相反,我需要 nodejs 应用程序在仲裁文件夹中执行二进制 X,并在执行 nodejs 应用程序 A 的不同文件夹中生成输出 O。
所以基本上我需要像在不同的文件夹中一样执行二进制文件。
我想知道是否可以在nodejs中做到这一点以及如何做到这一点?谢谢
解决方案
如果我正确理解了这个问题,您想在给定目录Binary X
中输出文件吗?O
如果我错了,请纠正我。
首先,我会检查二进制文件是否有一个选项来指定文件的输出位置。如果没有,也许解决这个问题的最好方法是设置当前工作目录。
我会做以下事情:
import {spawn} from 'child_process';
import * as path from 'path';
import * as os from 'os';
const proc = spawn('./binary.exe', [<Array of parameters to binary>], {
cwd: `${path.join(os.homedir, filename)}.o`
});
proc.stdout.pipe(process.stdout);
该cwd
属性是这里的活性成分。它指定应该从哪里运行二进制文件。该spawn
函数以与终端大致相同的方式简单地执行可执行文件和二进制文件。
希望有帮助。
推荐阅读
- scala - 在 Pyspark JavaPackage 中调用 Scala UDF 是不可调用错误
- sql - 如何在 SQL Server 中的交叉应用联接中指定列名
- python - Python(使用 ctypes)中是否有处理 C++ 结构中包含的向量的功能?
- cakephp - 获取包含请求中的相关数据
- reactjs - 在 React 组件中如何索引嵌套数组?
- codeigniter - 无法使用 twilio 接收传入的短信正文单个字
- firebase - 使用 Cloud Endpoints 和 Firebase 调用 ESP 时出现“409 Audience not allowed”错误
- c# - 在 C# Web API 的现有类中添加属性是否会影响 Angular 应用程序 UI?
- windows - 根据子文件夹中的文件类型创建子文件夹并移动该类型的所有内容
- excel - 在excel中计算两个日期的时间间隔