0

這裏是我的代碼:AppleScripting應用更改通知中心的背景OSX 10.8

set NCBGPath to path ("Machintosh hd:System:LIbrary:Core Services:Notification Center:Contents:Resources") 
set NCBackground to {"linen.tiff"} 
set themeFolder to choose folder with prompt "Choose a Theme" 
tell application "Finder" 
if exists file (themeFolder & NCBackground) then 
    copy file (themeFolder & NCBackground) to NCGBPath 
end if 
end tell ` 

什麼我需要改變,使其工作?它應該讓你選擇一個文件夾,如果該文件夾中有一個名爲linen.tiff然後將該文件複製到一組路徑:

/System/Library/CoreServices/Notification Center/Contents/Resources 

取代已存在的一個...

在煩惱設置路徑並使其工作

回答

0

您似乎將所有路徑搞砸了。你只是沒有正確使用它們。 Finder也沒有「複製」命令。它有一個「重複」命令。但是,因爲您正在將重複項執行到受限制的位置,所以我會使用cp shell命令並使用「管理員權限」運行它。

所以下面的代碼會做你正在做的事情(我沒有測試它)。不過,我懷疑這是一個好主意,不知道它是否會起作用。通常,只需替換文件就不會像您期望的那樣進行更改,而無需重新啓動通知中心。另外,正如我在代碼中提到的那樣,您將遇到文件權限問題。該文件夾中的文件具有複製文件不具有的特殊權限。最後,觸摸/ System目錄中的東西並不是一個好主意。

儘管如此,如果你仍然想繼續,那麼試試這個。

set NCBGPath to "/System/Library/CoreServices/Notification Center/Contents/Resources/" 
set NCBackground to "linen.tiff" 
set themeFolder to (choose folder with prompt "Choose a Theme") as text 
set themePath to themeFolder & NCBackground 
set posixNCPath to NCBGPath & NCBackground 

set shouldCopy to false 
tell application "Finder" 
    if exists file themePath then set shouldCopy to true 
end tell 

if shouldCopy then 
    do shell script "cp " & quoted form of POSIX path of themePath & space & quoted form of posixNCPath with administrator privileges 
    -- you probably should correct the file permissions too as the copied file probably won't have the proper owner and stuff 
else 
    display dialog "Could not find the background file in the chosen folder." 
end if 
+0

其實這個腳本不會複製任何文件:/ –

+0

也許你應該給予更多的細節,因爲清晰的代碼「做shell腳本CP」行意在複製文件。因此,麻煩 - 拍攝一些代碼,找出爲什麼它沒有做你需要的。沒有更多的解釋,我無法幫助你。 – regulus6633

+0

劇本對我來說看起來也不錯......當然,那裏沒有麻布,所以我不知道NC應該如何選取它呢? –