0

ここに私のコードがあります:

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 

既存のものを置き換える...

パスを設定して機能させるのに問題がある場合

4

1 に答える 1

0

あなたはすべての道を台無しにしているようです。それらを正しく使用していないだけです。また、Finder には「コピー」コマンドがありません。ただし、「複製」コマンドがあります。ただし、制限された場所に複製を実行しているため、代わりに cp シェル コマンドを使用し、「管理者権限」で実行します。

したがって、以下のコードは、あなたがしようとしていることを実行します (私はテストしませんでした)。しかし、私はそれが良い考えだとは思っておらず、うまくいくかどうかもわかりません. 通常、ファイルを置き換えるだけでは、通知センターを再起動しない限り、期待どおりの変更は行われません。また、コードで述べたように、ファイルのアクセス許可の問題が発生します。そのフォルダー内のファイルには、コピーしたファイルにはない特別なアクセス許可があります。最後に、/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
于 2012-10-17T21:04:30.757 に答える