// format the path, so Windows isn't mad at us
// first we specify that we want the path to be compatible with windows style
// then we replace the /mnt/c/ with the format that windows explorer accepts
// the path would look like `c:\\Users\some\folder` after this line
const winPath = path.win32.resolve(dir).replace('\\mnt\\c\\', 'c:\\\\');
// then we use the same logic as the previous answer but change it up a bit
// do remember about the "" if you have spaces in your name
require('child_process').exec(`explorer.exe "${winPath}"`);
3条答案
按热度按时间4ioopgfo1#
尝试以下操作,在运行Node.js* 的计算机上打开一个文件资源管理器窗口 *:
如果你的路径不包含空格,你也可以使用
'start c:\\test'
,但是上面的方法--它需要""
作为第二个参数[1]--是最健壮的方法。注意事项:
[1]
cmd.exe
的内部start
命令默认将"..."
括起来的第一个参数解释为要创建的新控制台窗口的 * 窗口标题 *(此处不适用)。通过显式提供(伪)窗口标题-""
,第二个参数被可靠地解释为目标可执行文件/文档路径。ff29svar2#
我在WSL和潜在的Windows本身上找到了另一种方法。
请注意,您必须确保您正在格式化Windows而不是Linux(WSL)的路径。我想在Windows上保存一些东西,所以为了做到这一点,您使用WSL上的
/mnt
目录。这将为您打开文件资源管理器。
h9a6wy2h3#
使用这个包会很好,这样它就可以在不同的平台https://www.npmjs.com/package/open-file-explorer上打开
或者就用这部分