gpt4 book ai didi

node.js - 切换到输入nodejs的路径

转载 作者:太空宇宙 更新时间:2023-11-03 23:23:31 24 4
gpt4 key购买 nike

假设您已经安装了一个电子应用程序,并且系统要求您输入当前项目的路径。您可能会执行以下操作:~/Documents/projectName

我如何在 Node 中获取该输入并检查它是否存在,特别是如果您输入了如上所示的路径?

这样做的原因是我想看看 A) 路径是否存在,B) 那里是否有特定文件(我将使用 path.join(dirEntered, fileName.extension)

有办法做我想做的事吗?我看到 chdir 但这改变了工作目录的位置。我想这会很好,但是这样做:

process.chdir('~/Documents') 显示:没有这样的文件或目录,uv_chdir(...)

我想避免让用户输入其项目的完整绝对路径。这似乎“对我来说很糟糕”。并且上传他们的项目是没有必要的,我正在读取一个文件(因此不需要在这里上传)。

有什么想法吗?

是否可以利用 cli 命令并将此输入提供给那里并获得结果?或者说这太过分了?

最佳答案

这里有一个解决这个问题的想法。如果路径以波浪号开头,则会将该波浪号替换为当前用户的完整主目录。然后,它使用 fs.stat 来查看给定路径是否确实存在。

const fs = require("fs");
const os = require("os");

var path = "~/Documents";
if (path.indexOf("~") === 0) {
path = os.homedir() + path.substring(1);
}
fs.stat(path, (err, stats) => {
if (!err) {
// document or path exists
if (stats.isFile()) {
console.log("Path " + path + " is a file");
} else if (stats.isDirectory()) {
console.log("Path " + path + " is a directory");
}
} else {
// document or path does not exist
}
});

关于node.js - 切换到输入nodejs的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47142492/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com