标签: applescript

Applescript:清理字符串

我有这个字符串,其中包含我想要删除的非法字符,但我不知道可能存在哪种字符。

\n\n

我构建了一个我不想被过滤的字符列表,并构建了这个脚本(来自我在网络上找到的另一个脚本)。

\n\n
on clean_string(TheString)\n    --Store the current TIDs. To be polite to other scripts.\n    set previousDelimiter to AppleScript\'s text item delimiters\n    set potentialName to TheString\n    set legalName to {}\n    set legalCharacters to {"a", "b", "c", "d", "e", "f", \n"g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r",\n"s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E",\n "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R",\n "S", "T", "U", …
Run Code Online (Sandbox Code Playgroud)

applescript

2
推荐指数
1
解决办法
8169
查看次数

Applescript 使用 Quicktime Pro 批量导出

我需要使用 Quicktime Pro 将 50 多个 mp4 文件导出为三种不同的格式。目前,我打开 mp4,选择导出选项,选择文件名“另存为”并启动该过程。我对每个文件执行三次(每种格式一次)。

有没有人有 Applescript scipt 来自动化这样的过程,或者已经存在的工具可以提供帮助?

谢谢

applescript quicktime

2
推荐指数
1
解决办法
6842
查看次数

使用 Objective-C 获取 Photoshop 的动作列表

我正在使用 C++ 和 Obj-C 编写一个与 Photoshop 交互的 OSX 应用程序。

我一直在使用NSAppleScript动态构建的 AppleScripts 来驱动 Photoshop(是的,这有点可怕......)我希望能够以不同的方式驱动 Photoshop,所以如果有人知道更好的方法,我愿意接受!不幸的是,我无法使用ScriptingBridge,因为我无法将我的用户绑定到 Leopard。

就在前几天晚上,当我从 Photoshop 查询操作列表以向用户显示时,出现了大问题。显然,Photoshop 的脚本集成不会向 AppleScript 公开动作列表 API。这是我不能使用的第二个原因ScriptingBridge

有谁知道如何在 Obj-C/C++ 程序中访问 Photoshop 的动作列表?额外问题:有谁知道我可以与 Photoshop 交互的更好方法吗?!

c++ photoshop applescript objective-c

2
推荐指数
1
解决办法
1068
查看次数

Apple 脚本在 Chrome 上打开网页并复制文本

好吧,这是我的问题,我尝试在 AppleScript 中编写代码,以便打开网页并复制所有文本,然后将其保存到变量中,并稍后使用该变量,问题是我已经为 safari 执行了此操作并且它运行良好,但对于 chrome 我不知道该怎么做,我今天开始学习这种语言,所以任何帮助将不胜感激。这就是我到目前为止所拥有的

    tell application "Google Chrome"
activate
set theurl to "http://www.webpage.com"
if (count every window) = 0 then
    make new window
end if

set found to false
set theTabIndex to -1
repeat with theWindow in every window
    set theTabIndex to 0
    repeat with theTab in every tab of theWindow
        set theTabIndex to theTabIndex + 1
        if theTab's URL = theurl then
            set found to true
            exit repeat
        end if
    end repeat

    if found then
        exit …
Run Code Online (Sandbox Code Playgroud)

applescript google-chrome

2
推荐指数
1
解决办法
5927
查看次数

如果 OS X 中的 Preview.app 不是 Applescriptable,为什么它可以工作?

我在 AskDifferent 上问了另一个关于 Preveiw 脚本词典的问题,并在此处进行了后续搜索,结果显示 Preview 不可编写脚本。

\n\n

但是当我跑步时:

\n\n
tell application "Preview"\n    set save_location to \xc2\xac\n        (choose file with prompt "Choose the png to be modified")\n    activate\n    open save_location\n\nend tell\n
Run Code Online (Sandbox Code Playgroud)\n\n

有用。这是否意味着 Preview.app 可以使用 Applescript 2.2.1 和我正在使用的 Max OS X 10.7.5 编写脚本?

\n\n

如果是这样,那么我在哪里可以找到对象列表?

\n

applescript osx-lion

2
推荐指数
1
解决办法
1382
查看次数

AppleScript:当我在其他桌面空间中时,如何重新加载 Safari 窗口而不将窗口带到前台

我想编写一个 AppleScript 来完成一个简单的任务。也就是说,我在桌面 1 上打开一个 Safari 窗口,并在桌面 2 上进行日常工作时每 30 分钟自动重新加载浏览器。

这是我的脚本:

tell application "Safari"
    activate
    tell application "System Events"
        tell process "Safari"
            keystroke "r" using {command down}
        end tell
    end tell
end tell
Run Code Online (Sandbox Code Playgroud)

这个脚本有效。但是,每当执行该脚本时,我当前的桌面 2 都会返回到桌面 1。这会分散我的工作流程。

有没有办法让 Safari 在后台重新加载,而不将 Safari 窗口带到桌面 1 的前台?

我做了几次搜索;他们中的许多人说我不应该在脚本中使用“activate”。我尝试过,但脚本什么也不做。

applescript

2
推荐指数
1
解决办法
6002
查看次数

如何在 mac osx 上使用 shell 脚本中的标志和 URL 启动 Chrome

当我从 shell 脚本启动 Chrome 时,我想使用一些 URL 和启用标志来启动 Chrome。我已尝试以下操作,但只能实现启用标志或启动 URL。不是两个都在一起。

open -n /Applications/Google\ Chrome.app --args --enable-speech-input
Run Code Online (Sandbox Code Playgroud)

或者

open -n /Applications/Google\ Chrome.app www.google.com
Run Code Online (Sandbox Code Playgroud)

上述两个命令都正确运行,但是当我尝试同时执行这两个命令时,如下所示:

open -n /Applications/Google\ Chrome.app --args --enable-speech-input "www.google.com"
Run Code Online (Sandbox Code Playgroud)

它失败。我尝试使用引号,但这不起作用。

macos shell applescript google-chrome

2
推荐指数
1
解决办法
5510
查看次数

用于打印当前运行的所有应用程序的 Bash 命令

什么是仅打印正在运行的应用程序(即仅显示在扩展坞上的应用程序)的命令。例如:

Chrome
Microsoft Word
Microsoft Outlook
Etc. 
Run Code Online (Sandbox Code Playgroud)

不是

Microsoft Helper App
Other helper apps not shown on the dock
Run Code Online (Sandbox Code Playgroud)

是否有要添加到ps命令中的标签,或者是否有完全不同的命令来执行此操作?

macos bash applescript

2
推荐指数
1
解决办法
172
查看次数

用于自动化的 JavaScript (JXA) 中的 Application.make

我正在尝试转换这个现有的 AppleScript 脚本:

tell application "System Events"
  make login item with properties {path:"/Applications/Application.app", hidden:false"}
end tell
return
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止所拥有的:

#!/usr/bin/env osascript -l JavaScript

'use strict';

ObjC.import('stdlib')

function run(argv) {

  var systemEvents = Application('System Events')

  systemEvents.make({
    new: 'LoginItem',
    at: systemEvents.loginItems,
    withProperties: {
      name: "Application",
      path: "/Applications/Application.app",
      hidden: false,
      kind: "Programm"
    }
  })

  $.exit(0)
}
Run Code Online (Sandbox Code Playgroud)

但是,我被困在以下行中,因为我实际上不知道要传递给该new:属性的内容,所以我认为其他属性是正确的。

 new: 'LoginItem',
Run Code Online (Sandbox Code Playgroud)

我希望有人能指出我正确的方向。

macos applescript javascript-automation

2
推荐指数
1
解决办法
998
查看次数

使用参数将 AppleScript 编译到应用程序中

有一个 AppleScript 方法:

on displayError(theErrorMessage)
    display dialog theErrorMessage
    return "done"
end displayError
Run Code Online (Sandbox Code Playgroud)

我想通过传递参数来编译这个脚本(不要用 osascript 运行它!)My_Application.app

就像是

osacompile - o My_Application.app My_Script.applescript "This is error message as parameter" 
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我将编译可以运行的应用程序。寻找有关如何使用传递参数准确编译脚本的命令。由于编译需要很多时间 - 我只想做一个。运行My_Application.app后,比通过 osascript运行的速度要快很多倍。如果输入参数改变 - 只需重新编译应用程序。

一个不错的选择是从运行的应用程序中以某种方式收集返回值,但这是另一个问题

applescript osascript

2
推荐指数
1
解决办法
985
查看次数