使用AppleScript在用户主目录中创建已安装卷的别名

乔希·汉考克(Josh Hancock)

在Mac OS 10.10上,我试图创建一个已装载卷的别名,并将该别名放入用户的主文件夹中,以便以后可以将其放入扩展坞中。该卷是一个名为satffdata $的SMB共享(这是一个隐藏的Windows共享,因此结尾是$)。我尝试了不同的路径变体,例如显式定义它并使用内置别名,但无济于事。

请参见下面的代码,然后输出。我收到的错误代码以及我读过的错误代码表明,问题可能出在将路径视为字符串,但是我无法明确定义启动磁盘名称或用户配置文件,因为在启动时它们可能有所不同。脚本由我们的Casper Suite系统自动运行。

tell application "Finder"
    activate

    try
        display dialog "Setting your StaffData$ (P Drive) Shortcut. Press OK to continue."
        mount volume "smb://servername/staffdata$"
        set staffData to POSIX path of "/Volumes/staffdata$"
        set homeDir to POSIX path of (path to home folder)
        display dialog staffData
        display dialog homeDir
        make new alias to staffData at homeDir
        set name of result to "staffdata$"

    end try
end tell

输出如下:

tell application "Finder"
    activate
    display dialog "Setting your StaffData$ (P Drive) Shortcut. Press OK to continue."
        --> {button returned:"OK"}
    mount volume "smb://servername/staffdata$"
        --> error number -10004
end tell
tell application "Script Editor"
    mount volume "smb://servername/staffdata$"
        --> file "staffdata$:"
end tell
tell application "Finder"
    display dialog "/Volumes/staffdata$"
        --> {button returned:"OK"}
    display dialog "/"
        --> {button returned:"OK"}
    make new alias to "/Volumes/staffdata$" at "/"
        --> error number -10000
end tell

如果您有任何疑问,我会尽快回复。谢谢!

瓦迪安

该脚本的主要问题是,Finder不接受POSIX路径。

Finder的字典具有home代表主文件夹的属性disk可以通过名称轻松指定对象

尝试这个

display dialog "Setting your StaffData$ (P Drive) Shortcut. Press OK to continue."
try
    set volumeName to "staffdata$"
    mount volume "smb://servername/" & volumeName
    tell application "Finder"
        if not (exists alias file volumeName of home) then
            make new alias file to disk volumeName at home
            set name of result to volumeName
        end if
    end tell
on error e
    display dialog e
end try

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Docker安装在用户主目录中

在用户主目录之外的目录上使用wget

如何在docker-compose中为当前用户主目录创建卷?

使用rbenv在用户主目录中的全局Gemfile:好主意吗?

自动创建用户主目录 Powershell

使用 SSH 时,是否只有在用户主目录中存在证书时才能阻止密码验证?

在 JupyterHub 中填充用户主目录

在用户主目录中查找所有.cpp文件

为什么crontabs不存储在用户主目录中?

如何使Electron-builder打包非代码文件以供安装程序将其安装在用户主目录(应用程序数据)中

AppleScript,检查当前用户主目录中是否存在文件夹

Virtualbox用户主目录

在Linux中从Java访问“〜”(用户主目录)

在Jrebel.xml中包括用户主目录

如何使用python查找真实的用户主目录?

当用户主目录挂载在NFS卷上时,Ansible不起作用

如何在用户主目录中提供静态资源

如何防止git在用户主目录之外写入文件

在不使用usermod在用户主目录上执行耗时的chown的情况下,更改一组用户UID的好方法是什么?

阻止 Snaps 访问用户主目录?

更改用户主目录无效

寻址用户主目录的正确方法

如何在ubuntu的用户主目录中创建一个名为.ssh的文件夹?

如何将默认安装目录更改为用户主目录(在Windows上)?

在用户的主目录中声明符号链接

与用户主目录不同的ssh登录目录

apt操作可以删除/修改退出用户主目录中的文件吗?

在R中获取Windows系统文件夹(用户主目录,“我的文档”等)路径

用户主目录中的log4j日志文件