我在Node.js脚本中使用fs.unlinkSync()
方法,以删除位于Appdata
目录中的文件。
找到Appdata
目录的最佳做法是使用%appdata%
指定路径,因此在我的代码中:
var filePath = '%appdata%/some/path/file.ext';
fs.unlinkSync(filePath);
问题是返回错误,表示路径不好,因为它试图找到类似的东西:
C:\my\project\%appdata%\some\path\file.ext
这显然不存在。
所以我正在寻找将%appdata%
解析为C:\Users\user\AppData\Roaming
的最佳方法。
希望我可以按照以下方式做点什么:
var filePath = resolveToAbsolutePath('%appdata%/some/path/file.ext');
fs.unlinkSync(filePath);
感谢任何形式的帮助。
注意:
答案 0 :(得分:3)
您可以使用将解析路径的函数来解决它:
function resolveToAbsolutePath(path) {
return path.replace(/%([^%]+)%/g, function(_, key) {
return process.env[key];
});
}
resolveToAbsolutePath('%LOCALAPPDATA%\\Google\\Chrome\\Application');