标签: applescript

将俄语文本写入txt文件

我试图将一些俄语文本或西里尔文本写入.txt文件.我可以成功地这样做,但是当我打开文件时,所有用来代替文本的都是一堆问号.我认为这是一个编码问题,但在该领域找不到任何帮助.我写了一个小脚本来演示这个问题.

do shell script "> $HOME/Desktop/Russian\\ Text.txt"
set text_path to ((path to home folder) & "Desktop:Russian Text.txt" as string) as alias

set write_text to "??????"

tell application "Finder"
    write write_text to text_path
    set read_text to text of (read text_path)
end tell
Run Code Online (Sandbox Code Playgroud)

如果有人对于为什么会发生这种情况有任何想法,请告诉我.谢谢.

applescript character-encoding

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

MacOSX或AppleScript:从Firefox获取当前URL

如何从Firefox(3或4)获取当前URL?到目前为止我找到的所有解决方案要么不起作用(例如那些"class curl"),要么是丑陋的黑客攻击对我来说没有解决办法(发送按键将URL复制到剪贴板).

macos firefox applescript

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

AppleScript和MD5

我只是尝试使用AppleScript计算字符串的MD5:

set hash_string to do shell script "echo -n hi | md5"
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,我实际上用"hi"替换了传递给shell的字符串作为测试.AppleScript报告:

tell current application
    do shell script "echo -n hi | md5"
        --> "5ea3a74c5a5c60abd09da8c5f85fa0a5"
end tell
Run Code Online (Sandbox Code Playgroud)

直接在终端中运行相同的命令会导致:

% echo -n hi | md5
49f68a5c8493ec2c0bf489821c21fc3b
Run Code Online (Sandbox Code Playgroud)

虽然命令是相同的,但计算的散列是不同的.显然,在AppleScript中传递了其他字符,但我似乎无法弄清楚它们是什么.我感谢任何指导.

shell applescript command md5

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

如何使用AppleScript或Shell脚本在OSX中获取文件URL?

我尝试一起破解Keyboard Maestro快捷方式,以便为我提供文件的URL(就像“路径查找器”的输出一样)。

到目前为止,我用下面的AppleScript和替代空间%20

tell application "Finder"
    set sel to the selection as text
    set the clipboard to POSIX path of sel
end tell
Run Code Online (Sandbox Code Playgroud)

然后我简单地追加file://localhost/

问题是涉及特殊字符时,例如,我在桌面上有以下文件夹:

我的输出: file://localhost//Users/patte/Desktop/#%20Old%20files

正确的输出应转换哈希值: file://localhost/Users/patte/Desktop/%23%20Old%20files


使用AppleScript或Shell脚本的解决方案将是很棒的,因为我有能力将其合并。我也尝试过,set the clipboard to URL of the first item of (get the selection)但这对我没有用-也许我做错了。

另一个选择是对特殊字符进行编码的脚本-我也可以使用该脚本,但是我不确定将什么转换成什么-否则我会寻找它。

url macos shell applescript finder

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

错误号-1708分割字符串时

我有以下函数进行字符串拆分:

on splitText(aString, delimiter)
    set retVal to {}
    set prevDelimiter to AppleScript's text item delimiters
    set AppleScript's text item delimiters to {delimiter}
    set retVal to every text item of aString
    set AppleScript's text item delimiters to prevDelimiter
    return retVal
end splitText
Run Code Online (Sandbox Code Playgroud)

单独使用时,它可以正常工作

log splitText("http://google.com | /Users/pistacchio/Desktop/google.jpg","|")

但是当我在我需要的上下文中使用它时,我得到一个-1708错误

tell application "Safari"
    activate
    repeat with row in linesToPrint
        log splitText("http://google.com|/Users/pistacchio/Desktop/google.jpg", "|")
    end repeat
end tell
Run Code Online (Sandbox Code Playgroud)

linesToPrint 是一个字符串数组

有帮助吗?

applescript

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

使用AppleScript关闭FireFox中的特定选项卡

我需要在FireFox中编写具有特定标题的选项卡的关闭脚本.FireFox是否与下面的AppleScript示例等效?

关闭Safari中的标签:

tell application "Safari"
    delete (every tab of every window where its name contains "[done]")
end tell
Run Code Online (Sandbox Code Playgroud)

关闭Chrome中的标签:

tell application "Google Chrome"
    delete (every tab of every window where its title contains "[done]")
end tell
Run Code Online (Sandbox Code Playgroud)

macos firefox applescript

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

如何在我的AppleScript中包含命令行实用程序?

我写了一个Applecript,它使用了一个有助于执行点击的外部命令行脚本.

现在,如果我想发布我的脚本,那么最终用户的方法应该是什么?我的意思是,我应该对他们说:"首先,你必须下载这个CLI工具,然后放入这个文件夹......然后下载并运行我的脚本!"

这是一个新手问题,但是:这是唯一的方法吗?或者我可以在某种程度上包含我的脚本/包中的CLI代码?如果有,怎么样?

macos applescript

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

加速AppleScript UI脚本?

我正在使用NetShade作为代理服务,并认为我可以尝试自动化不同代理之间的切换,这是我的第一个AppleScript脚本的良好开端.

NetShade-app没有AppleScript支持,所以我必须使用UI脚本.经过几次尝试(以及这里的一些帖子)我设法有一个脚本,通过菜单栏项切换代理(这里是它的图片,因为我不能因为声誉限制而内联发布).

不幸的是我的代码非常慢(≈6sec),这使得它像脚本一样不切实际.第一个菜单立即打开,但子菜单和代理服务器的选择需要几秒钟.

我正在使用以下代码:

set theProxy to "Netshade US 4"
tell application "System Events" to tell process "NetShade"
    tell menu bar item 1 of menu bar 2
        click
        tell menu item "NetShade Proxy" of menu 1
            click
            tell menu item theProxy of menu 1
                click
            end tell
        end tell
    end tell
end tell
Run Code Online (Sandbox Code Playgroud)

我已经尝试添加ignoring application responses,像在不同的线程(链接)中建议,但这没有帮助.

最后我的问题是:有没有办法加快这个过程?也许甚至可以在后台完成所有这些操作而不显示菜单项?

PS:我正在运行OS X 10.9.1

applescript

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

如何在Automator中将文件路径传递给AppleScript?

我希望能够在Finder中右键单击文件或文件夹,然后选择服务>打开终端以在该路径上打开终端窗口.

在automator中,我有一个运行AppleScript的服务

tell application "Terminal"
    do script "cd $filePath"
    activate
end tell
Run Code Online (Sandbox Code Playgroud)

我不知道如何传递文件路径!

额外奖励:我如何确保这适用于文件和文件夹?如果是一个文件,可能会说该文件不是目录.

额外奖励:我自己哪里可以找到这个答案?文档似乎是密集的方式.

谢谢

切特

applescript automator

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

AppleScript - 获取当前iTunes曲目的完整信息

我正在尝试返回当前iTunes Track的信息,该信息正在我的计算机上播放.

我可以获得这样的单个信息:

tell application "iTunes"
get name of current track
end tell
Run Code Online (Sandbox Code Playgroud)

这返回Thunderstruck例如.

但是有可能我可以获得有关当前曲目的更多信息,因此返回如下内容:

"AC/DC, Thunderstruck, Iron Man 2"
Run Code Online (Sandbox Code Playgroud)

这可能吗?或者我是否必须创建多个脚本?

谢谢

macos applescript itunes

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