首先讓我告訴你,我只有基本的編程經驗,但我幾乎是MaxScript(Autodesk 3ds max腳本語言)的專業人員。現在,我開始寫的Photoshop腳本基本上執行以下操作:Photoshop javascript遍歷文件夾層次結構向上
1)操縱開放PSD文檔以某種方式
2)保存該文件爲TIFF在特定相對的文件夾PSD文件的位置。
所以我們說的PSD文件在文件夾C /項目/後期製作/工作/ workingSubfolder
然後TIFF文件應在文件夾中C /項目/後期製作/導出/ exportSubfolder
重要的事情是:
- 「工作」和「出口」的文件夾都在同一水平上
- 有時候不存在「workingSubfolder」文件夾,有時 更多。不可預測。
- 腳本需要複製「導出」文件夾中「工作」文件夾的文件夾結構,但顯然將TIFF保存在那裏而不是PSD。
我現在需要的是從PSD文件向上遍歷層次結構,直到找到名爲「export」的文件夾。然後進入該「導出」文件夾,在那裏複製「工作」文件夾內的結構,如果該結構不存在,然後在那裏保存與PSD文件具有相同名稱的TIF文件。
我在interwebs中發現了一個關於遍歷文件夾樹的遞歸向下的噸,但沒有向上。也許我在找錯?我覺得這對於任何像樣的程序員來說都是一個極其簡單的問題。
穿越算法_DOWN_通常需要從文件系統中讀取數據 - 但既然你有一個現有路徑已經想去「上」在這裏,排在首位,這需要基本的字符串操作 - 在分割你的路徑'/ ',並以相反的順序遍歷該分割的結果,直到找到名爲'export'的路徑段。只有在那之後,你需要再次「下」 - 那時候你已經知道下面這些文件夾的名字了,所以這是檢查文件系統中是否已經存在,以及是否已經創建它們的問題。 – CBroe 2014-09-04 13:08:03
但是,這不應該在任何時候都需要遞歸,因爲這裏只有一個「扁平的」一維數據結構 - 只是按照定義的順序有幾個路徑段。 – CBroe 2014-09-04 13:09:07