2015-10-26 82 views
0

我一直在嘗試用POSIX路徑中的某個變量替換其中一個部分,但我沒有成功。在POSIX路徑中使用變量applescript

這劇本我嘗試開發:

告訴應用程序 「發現者」

重複POSIX文件 「/用戶/ 可變 /Documents/img.jpg」 以POSIX文件「/用戶/ 可變 /桌面/」與替代

末告訴

的部分中以粗體顯示的路徑在哪裏我想要的變量是地方當下。

感謝所有幫助

+0

請說明您的具體親瑕疵或添加額外的細節,以確切地突出你所需要的。正如目前所寫,很難確切地說出你在問什麼。請參閱[如何提問](http://stackoverflow.com/help/how-to-ask)頁面以獲得澄清此問題的幫助。 –

+0

所以我想要的不是實際上是一個目錄的粗體位,我希望它們是一個變量 –

+0

使用相對路徑的簡單語法:'重複文件((作爲文本的文檔文件夾的路徑)&「img.jpg」)到桌面替換' – vadian

回答

0

你斷絕與&號&和變量的字符串。

另外,在腳本Finder之前,將posix路徑轉換爲Mac標準冒號:路徑是一種很好的做法。 Finder的重複功能從10.9開始就是這樣的錯誤。 我已經打破了一些強制,所以你可以看到發生了什麼事情。

-- define file and user names 
set fileName to "img.jpg" 
set user1 to "Mitc" 
set user2 to "Mitc" 

-- create posix path strings 
set path1 to "/Users/" & user1 & "/Documents/" & fileName 
set path2 to "/Users/" & user2 & "/Desktop/" 

-- convert posix paths into colon paths 
set ref1 to (POSIX file path1) as string 
set ref2 to (POSIX file path2) as string 

-- display dialog ref1 & return & ref2 -- to test 
tell application "Finder" to duplicate alias ref1 to alias ref2 with replacing 
+0

對不起,這是我看到的第一個,但你仍然是一個非常準確的答案,我需要的 –

+0

其實我似乎得到一個錯誤,他們兩個D:「錯誤」Finder有一個錯誤:可以'將POSIX文件\「/ Users/MitchSimpson/Desktop \ \」設置爲POSIX文件\「/ Users \ MitchSimpson/Documents/img.jpg \」。「從文件編號-10006」Macintosh HD:Users:MitchSimpson:Desktop: 「」 –

+0

Finder的重複是越野車。它也不喜歡posix路徑文件引用。我修改了腳本,將它們首先轉換爲基於冒號的路徑。應該管用。 – jweaks

0

您必須使用「&告訴腳本停止讀取目錄,並添加變量所以這裏是結果:

tell application "Finder" 
    duplicate POSIX file "/Users/" & variable & "/Documents/img.jpg" to POSIX file "/Users/" & variable & "/Desktop/" with replacing 
end tell 

(請確保您使用‘設置’命令把這些變量,EG)

set variable to "text" 

希望這有助於!

+0

謝謝你,正是我需要的! –

+0

是的,但我提前三小時提供了答案。 :) – jweaks