Applescript将finder窗口或屏幕移回第一个屏幕

Applescript将finder窗口或屏幕移回第一个屏幕,applescript,Applescript,我正在写一个脚本,希望将来能避免用户出错。我现在正在研究的一个大问题是,Finder或AppleScript的ChooseFile命令框(无所谓)不包含“放弃后”选项。因此,虽然我可以将超时设置为非常大的秒数(例如5000秒),但如果苹果事件没有超时,我无法让盒子关闭并重新打开 所以这里有一个我尝试过的选择。但我的问题是,如果我滑动到另一个屏幕,即使我激活了finder,它也会说找不到“选择文件”窗口 有没有一种方法可以让窗口跟随滑动或使用activate命令将finder窗口带到当前屏幕,即使

我正在写一个脚本,希望将来能避免用户出错。我现在正在研究的一个大问题是,Finder或AppleScript的ChooseFile命令框(无所谓)不包含“放弃后”选项。因此,虽然我可以将超时设置为非常大的秒数(例如5000秒),但如果苹果事件没有超时,我无法让盒子关闭并重新打开

所以这里有一个我尝试过的选择。但我的问题是,如果我滑动到另一个屏幕,即使我激活了finder,它也会说找不到“选择文件”窗口

有没有一种方法可以让窗口跟随滑动或使用activate命令将finder窗口带到当前屏幕,即使我在say Safari中工作

当我滑动到另一个屏幕时发生错误;请参见下面的错误:

错误“系统事件发生错误:无法从进程“查找器”的窗口“选择文件”中获取进程“查找器”的窗口“选择文件”编号-1728

脚本:

试一试 超时时间为5秒 告诉应用程序“查找器” 将文件设置为选择列表中的每一项(选择文件时提示“请选择要移动和重命名的文件:”并允许多选) 结束语 结束超时 关于错误errStr number errorNumber 如果errorNumber为-1712,则为--timeout error my closeWindow()--调用处理程序关闭窗口 如果结束 结束尝试

关于closeWindow() 告诉应用程序“系统事件” 延迟2——用于观察测试目的
将进程“Finder”的最前端设置为true 延迟2——用于观察测试目的 单击进程“查找器”窗口“选择文件”的“取消”按钮 结束语
结束关闭窗口

您必须查看默认设置AutoSwoosh=true<代码>默认值写入com.apple.Dock工作区auto swoosh-bool YES;KillAll Dock使您转到活动应用程序,如果它不在当前空间中,则应用程序本身(在本例中是Finder?)不应分配到空间

如果这是您的基本配置,那么在它之前进行一次简单的
激活
,如果它位于另一个空间中,您应该直接进入“选择文件”对话框

下面是一个将choose文件嵌入tell应用程序(最前面的应用程序路径为文本)的详细示例:


谢谢你这么快的回复!乍一看,这看起来很棒。我想为了让你知道这是否对我有效,我需要给你更多的细节。目前,Finder以及我的所有其他窗口都没有分配给任何空间(它们都是未分配的;“无”OSX 10.9.5)。所以我查了一下AutoSwoosh,这篇文章就出现了。不过,我很难理解底层的人。嗯,我在底部写道,问题是,我启用了autoswoosh,这导致我有时被带到正确的空间。这可能会很烦人,另一种方法是将choose file嵌入
告诉应用程序(最前面的应用程序的路径为文本)
,这会将choose file对话框放在用户面前,用户现在所在的位置。我不介意让用户感到烦人:)(我的妻子或我)我只是想确保进程不会出错或超时。所以,我很抱歉,如果我是稠密的,但你能充实出“嵌入选择文件与告诉应用程序(路径最前面的应用程序作为文本)”的一部分给我。。。再解释一下你把它放在哪里。听起来可能有用。我在上面的答案末尾加了一个例子。如果对您有效,请按回答进行核对:)我相信我已经启用了autoswoosh。我运行了终端命令,杀死了码头,但它仍然无法工作。我突发奇想修改了一件事,它似乎修复了原始脚本,使其能够工作(我理解这一原因),但现在我有另一种情况需要解决。我调整的地方是,我将finder分配给所有桌面。因此,当我用choose file in desktop 1启动对话框,然后在desktop 2中滑动到safari时,它会随之出现(在后台),这样当on closeWindow()运行时,它仍然可以找到上面打开的finder窗口。frontmost有什么帮助?
  tell application (path to frontmost application as text)
      set theF to (choose file)
  end tell