JavaScript - Photoshop - 如何获取机器用户名

JavaScript - Photoshop - How to get machine userName

我的脚本是 运行 对服务器上的 .psd 文件进行批处理,因此我无法从 .psd 文件路径获取用户。我需要 return 机器用户名,这样我就可以将它添加到我用来记录每个进程的带时间戳的日志条目中。

我试过了运行:

#target photoshop  

var usersFolder = Folder("C:\Users")
var users = usersFolder.getFiles()
alert(users.join("\n"))

...找到当前用户文件夹,但它 return 将其编辑为 ~(波浪号)。 有没有办法从 ~ 路径检索当前用户名?

您可以尝试以下要点:

#target photoshop

/**
 * Ascertains whether the Operating System is Macintosh.
 * @returns {Boolean} True if the OS is Macintosh, otherwise false.
 */
function isMacOS() {
  return ($.os.toLowerCase().indexOf('mac') >= 0);
}

/**
 * Obtains the computers name/username.
 * @returns {String} The name of the computers username.
 */
function getUserName() {
  return (isMacOS()) ? $.getenv("USER") : $.getenv("USERNAME");
}

var userName = getUserName();

alert(userName);

备注

  1. getUserName 函数 returns computer/user 名称由 运行 之一:

    • $.getenv("USER") 如果操作系统是 Macintosh。
    • $.getenv("USERNAME") 如果操作系统是 Windows.
  2. 我没有在 Windows 上测试过这个 运行,因为我在那个环境中没有 PhotoShop 运行 的副本。

  3. 但是,$.getenv("USERNAME") 在 InDesign 运行 中在 Windows 上成功运行。

  4. 如果在 Windows 上失败,那么我建议您尝试将 $.getenv("USERNAME") 部分更改为以下内容之一 (并在必要时推断值):

    • $.getenv("COMPUTERNAME")
    • $.getenv("USERPROFILE")
    • $.getenv("HOMEPATH")