【问题标题】:How to open a notepad using node如何使用节点打开记事本
【发布时间】:2019-03-13 09:12:44
【问题描述】:

我正在创建一个我的节点项目可以打开notepad.exe的项目

const openyeah = "notepad.exe";
const fs = require("fs");

fs.open(openyeah,"r",(err,fd)=>{
    if(err){
        console.log('errors')
    }else{
        console.log("correct")
    }
})

【问题讨论】:

标签: node.js node-modules


【解决方案1】:

您需要使用Child Process 模块来完成此操作。 child_process 模块提供了生成子进程的能力,使我们能够打开记事本、exe 等窗口程序

如果您在创建 spawnObj 后查看下面的示例,我们可以将需要执行的程序名称作为第一个参数(在我们的例子中为 notepad.exe)和相关输入作为第二个输入传递(在我们的例子中是.txt file name。请检查下面的示例中的C:/Users/YOUR_USER_NAME/Desktop/somefile.txt 并将其替换为您PC 中的有效路径/文件名)。

var spawnObj = require('child_process').spawn,
progToOpen = spawnObj('C:\\windows\\notepad.exe', ["C:/Users/YOUR_USER_NAME/Desktop/somefile.txt"]);

希望这会有所帮助!

【讨论】:

  • 这只是我的示例问题,兄弟,但您对使用相同的方法运行 ccleaner auto clean 有任何想法吗?
  • 在这种情况下,您将不得不在此处省略 ["C:/Users/YOUR_USER_NAME/Desktop/somefile.txt"] 参数 progToOpen = spawnObj('C:\\windows\\notepad.exe', ["C:/Users/YOUR_USER_NAME/Desktop/somefile.txt"]); 并且还需要使用相关路径调用 ccleaner.exe 而不是 notepad.exe
  • 我不知道数组部分兄弟?因为没有其他文件可以打开
  • var spawnObj = require('child_process').spawn, progToOpen = spawnObj('C:\\windows\\CCleaner64.exe', ["C:\Program Files\CCleaner>ccleaner.exe /auto"]);
  • 这样就可以了 => var spawnObj = require('child_process').spawn, progToOpen = spawnObj('C:\\windows\\CCleaner64.exe');
【解决方案2】:

fs.open 用于读取和写入文件内容,但启动程序不是“打开”而是“调用”一个(可执行)文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-24
    • 1970-01-01
    • 2020-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多