通过运行另一个AppleScript来改变一个AppleScript中的属性?

时间:2011-08-05 17:35:06

标签: database properties applescript

有没有人知道如何通过运行另一个AppleScript来改变一个AppleScript中的属性? 我知道如何读取存储在单独脚本中的属性,但我无法弄清楚如何编辑它们。

例如。 文件1包含属性:(保存为“测试”到桌面)

property test : 1

文件2能够获取此属性的值

global test
set test to (load script (("/Users/knickman/Desktop/test.scpt") as POSIX file))

if test's test is 1 then    
say "yes"   
else    
say "no"    
end if

这很有效。但是,如果我尝试从另一个脚本更改文件1中的值,其中包含以下内容:

global test
set test to (load script (("/Users/knickman/Desktop/test.scpt") as POSIX file))

set test's test to 1

这不起作用。我甚至想做什么?我试图用它作为一个简单的数据库。谢谢你的帮助

1 个答案:

答案 0 :(得分:2)

使用load script加载脚本会在内存中创建存储在test.scpt文件中的脚本对象的副本。

修改加载脚本的属性只会更改内存中脚本对象的值,它对最初加载脚本的脚本文件没有影响。但是,您可以使用store script命令使更改持久:

global test
set test to load script (POSIX file "/Users/knickman/Desktop/test.scpt")

if test's test is 1 then
    say "yes"
    set test's test to 0
else
    say "no"
    set test's test to 1
end if

store script test in (POSIX file "/Users/knickman/Desktop/test.scpt") replacing yes