在WPS JSA中,获取系统桌面路径的方法有哪些?

实测几个,只有固定路径能用

function getDataFolder() {
    try {
        // 方法1: 使用WPS JSA环境变量
        const desktopPath = Application.Path + "\\Desktop\\";
        if (Dir(desktopPath + "日常数据\\", 16) !== "") {
            return desktopPath + "日常数据\\";
        }
        
        // 方法2: 使用Windows脚本宿主对象
        const shell = new ActiveXObject("WScript.Shell");
        const wshDesktop = shell.SpecialFolders("Desktop");
        if (Dir(wshDesktop + "\\日常数据\\", 16) !== "") {
            return wshDesktop + "\\日常数据\\";
        }
        
        // 方法3: 使用环境变量
        const userProfile = Environ("USERPROFILE");
        if (userProfile && Dir(userProfile + "\\Desktop\\日常数据\\", 16) !== "") {
            return userProfile + "\\Desktop\\日常数据\\";
        }
        
        // 方法4: 默认路径
        return "C:\\Users\\" + Environ("USERNAME") + "\\Desktop\\日常数据\\";
        
    } catch (e) {
        // 最终回退方案
        return "C:\\Users\\xin\\Desktop\\日常数据\\";
    }
}
江苏省
浏览 97
收藏
3
分享
3 +1
3
+1
全部评论 3
 
看了下,直接Env.GetDesktopPath()就是当前用户的桌面路径。这个是什么时候加的,之前一直没注意到
· 陕西省
1
回复
 
wils

创作者俱乐部成员

console.log(Env.GetHomePath() + '/Desktop')
· 海南省
1
回复
GetHomePath 取系统HOME目录的路径,代表当前用户主目录。
· 江苏省
回复