2012-11-16 32 views
2

我試圖根據我每天從我的網站上下載的文件爲我創建一個腳本來運行一個函數。在Applescript中打開一個帶有變量的文件夾

基本上,我的網站基於日期(yyyy,mm,dd)創建一個文件夾。我想讓applescript首先打開該文件夾,然後在每個文件夾/文件裏面運行該操作。

問題是,當我嘗試使用變量將腳本指向該文件夾時,它給了我錯誤:無法將路徑名變爲常量。

也許真正的問題是我對此有多新!以下是我所嘗試的:

tell application "Finder" 
    set {year:y, month:m, day:d} to (current date) 
    set theTime to y & m & d 
    set pathToTarget to path to theTime 
    open folder pathToTarget of folder "F-grams" of folder "files" of folder "default" of folder "sites" of folder "foldagram" of folder "htdocs" of folder "MAMP" of folder "Applications" of startup disk 
end tell 

誰願意幫助新手走上正軌? -JB

+0

此行生成錯誤:「設置pathToTarget到路徑theTime」 - - – 2012-11-17 14:24:50

回答

1

每次將新項目添加到目標文件夾時,都會觸發此文件夾操作。第二個重複塊將允許您爲每個添加的文件夾中的每個項目發送命令。您可以使用anItem變量引用這些項目中的每一個。將腳本保存在庫中的文件夾操作腳本文件夾中。確保將文件夾操作附加到目標文件夾。

on adding folder items to theFolder after receiving theFolders 
    try 
     repeat with aFolder in theFolders 
      tell application "Finder" to set myItems to every item of aFolder 
      repeat with anItem in myItems 
       -- Insert your code here 
      end repeat 
     end repeat 
    on error errMsg number errNum 
     tell me 
      activate 
      display alert errMsg & return & return & "Error number" & errNum buttons "Cancel" 
     end tell 
    end try 
end adding folder items to 

但是,如果你想按日期搜索文件夾,這是你應該如何格式化日期字符串:

set delimiter to ", " 
set aDate to (current date) 
set aYear to (year of aDate) as string 
set aMonth to (month of aDate as integer) as string 
if length of aMonth is 1 then set aMonth to "0" & aMonth 
set aDay to (day of aDate as integer) as string 
if length of aDay is 1 then set aDay to "0" & aDay 
set theTime to aYear & delimiter & aMonth & delimiter & aDay as string 
相關問題