2016-01-28 52 views
0

我以前從未使用Apple腳本,並發現自己需要完成非常重複的任務。基本上我需要做的是批量複製並按照模式重命名一些文件。最好我需要一個對話框說如何在查找程序中複製一批文件

「有多少重複?」

所以,如果我有這樣的:

1-1.jpg 1-2.jpg 1-3.jpg

(這可能是要強調任意數量的文件,不短短三)

我基本上是想幹什麼,然後突出顯示所有三個文件從服務菜單中調用的AppleScript問我要多少重複做,然後從而將它們命名:

2-1.jpg 2-2.jpg 2-3.jpg 3-1.jpg 3-2.jpg 3-3.jpg ...

顯然取決於有多少副本我需要。

對於掌握Applescript知識的人來說,這可能是一分鐘的工作,但唉,這需要我花一些時間才能學會這麼做!

+0

批處理文件標記爲Windows批處理文件編輯你的問題,並刪除該標籤 – Squashman

+0

謝謝 - 。刪除 –

+0

嗨,大家好,我正試圖從OSX轉移到Windows上(不要簽名 - 我聽到了!),我試圖找到一種在Windows 10上實現這一結果的方法。我知道這一點可能超出了這個原始問題的範圍,但我真的很努力地讓我的頭腦圍繞Windows腳本的工作原理:( –

回答

0

如果您突出顯示這些文件,然後按Command + D(重複)多次,因爲您需要重複項,那麼您基本上已經在沒有任何AppleScript的情況下獲得此項。這是唯一不同的是,你會得到更清楚地命名重複:

  • 1-1.jpg
  • 1-1 copy.jpg
  • 1-1副本1.JPG
  • 1 -1複製2.JPG

如果你想在服務菜單中自動執行此,您可以建立的Automator服務。 Services菜單不是運行AppleScripts的典型場所。有一個腳本菜單,您可以在腳本編輯器首選項中啓用它(在菜單欄中顯示腳本菜單。)

如果要使用AppleScript來做到這一點,那麼您想了解如何使用腳本編輯器一個相當基本的任務。在腳本編輯器中,您可以進入File▶Open Dictionary並選擇Finder,您將看到Finder的腳本字典,其中包含Finder可以理解的命令。一開始看起來很複雜,但是在您製作第一個腳本時變得很清晰。

這正是人們在第一次學習AppleScript時所做的項目。有很多在線學習資源,如MacScripter等。您可以從別人的Finder腳本開始,幾乎可以完成您想要的內容,然後使其適應您的需要。

0

劇本波紋管做你想做的(我想!)。

例:只選擇1個文件'1-surpername。jpg'文件夾'MyFolder'中,要求有2個重複的文件

'Myfolder'中的結果是'1-supername.jpg','2-supername.jpg','3-supername.jpg'

當然,如果選擇多個文件,每一個都會有同樣的待遇在各自的文件夾

tell application "Finder" to set MyFiles to selection 
set NbFiles to count of MyFiles 
if NbFiles = 0 then return 
set Dupli to 0 
set myAnswer to display dialog "There are " & NbFiles & " selected. How many duplicate do you want ?" default answer "1" 
try 
set Qty to text returned of myAnswer 
on error 
set Qty to 1 
display dialog "Job cancelled. value entered incorrect" 
end try 
display dialog "Please confirm that you want to duplicate " & Qty & " times the " & NbFiles & " files selected ?" 

repeat with F in MyFiles -- duplication for each selected file 
set myName to name of F 
set myFolder to POSIX path of ((folder of F) as string) 
set AppleScript's text item delimiters to {"-"} 
set ListName to text items of myName 
set myCount to (item 1 of ListName) as integer 
repeat with I from 1 to Qty -- for each duplication 
    set myCount to myCount + 1 -- counter of the begining of the file name 
    set item 1 of ListName to (myCount as string) --increase the counter for the new name 
    set newName to ListName as string 
    try 
     do shell script "cp " & quoted form of (myFolder & myName) & " " & quoted form of (myFolder & newName) 
    on error 
     display dialog "error during copy of " & myName & " into " & newName 
    end try 
end repeat 
end repeat 
+0

謝謝你們 - 這是最有幫助的!我剛剛開始我的Applescript旅程,這對學習也有很大的幫助! –

相關問題