You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在NWJS中打开指定路径的Windows文件资源管理器并允许打开文件?

在NWJS中打开指定路径的Windows原生文件资源管理器方案

直接利用NWJS内置的Node.js环境调用系统原生explorer.exe,这是完全匹配需求的方案,可实现:

  • 直接定位到指定路径s.shortcut
  • 调用系统原生资源管理器,用户可正常打开任意文件
  • 软件在资源管理器打开后持续运行,不受资源管理器关闭影响

具体实现代码

// 引入Node.js的child_process模块
const { exec } = require('child_process');

// 目标路径,即你的s.shortcut变量
const targetDir = s.shortcut;

// 构造命令:路径含空格时需用引号包裹,避免解析错误
const openExplorerCmd = `explorer.exe "${targetDir}"`;

// 执行命令打开资源管理器
exec(openExplorerCmd, (err) => {
  if (err) {
    console.error('打开资源管理器出错:', err.message);
    return;
  }
  // 成功打开后无需额外处理,资源管理器独立运行
});

为什么之前的方法无效

  • showOpenFilePicker:属于浏览器沙箱内的API,受限于安全策略,无法指定自定义路径,仅能访问预设的系统目录,且功能是选择文件而非打开资源管理器
  • window.open("file://...":打开的是NWJS内置浏览器渲染的网页版文件浏览界面,并非系统原生资源管理器,因此无法直接打开文件,还会受浏览器窗口生命周期影响
  • 带popup参数的window.open:本质仍是网页版浏览,仅解决了窗口关闭不终止程序的问题,但核心的文件打开功能仍受限于浏览器沙箱,只能触发下载而非打开

内容的提问来源于stack exchange,提问作者Daxelarne

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 07:27:04