我的脚本在服务器上的.psd文件上运行批处理,因此我无法从.psd文件路径获取用户。我需要返回机器用户名,这样我就可以将它添加到我用来记录每个进程的带时间戳的日志条目中。
我试过跑:
#target photoshop
var usersFolder = Folder("C:\\Users")
var users = usersFolder.getFiles()
alert(users.join("\n"))
...找到当前用户文件夹,但它将其返回为〜(代字号)。 有没有办法从〜路径中检索当前用户名?
答案 0 :(得分:0)
您可以尝试以下要点:
#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);
备注强>
getUserName
函数通过运行以下命令返回计算机/用户名:
$.getenv("USER")
如果操作系统是Macintosh。$.getenv("USERNAME")
如果操作系统是Windows。我还没有在Windows上运行此测试,因为我没有在该环境中运行的PhotoShop副本。
但是,$.getenv("USERNAME")
在Windows上运行的InDesign中可以成功运行。
如果在Windows上失败,我建议您尝试将$.getenv("USERNAME")
部分更改为以下之一而不是(并在必要时推断该值):
$.getenv("COMPUTERNAME")
$.getenv("USERPROFILE")
$.getenv("HOMEPATH")