如何在将文件分类到文件夹中的 Apple Script 上显示进度?
How can I display progress on an Apple Script that sorts files into folders?
我还在学习这里的规则,所以如果这个问题不合适请告诉我。
背景
我是一名平面设计师。我创建了一个 Apple Script,它将徽标文件分类到文件夹中以制作徽标包。该过程可能需要一两分钟,因此我希望能够在 运行 此 Apple 脚本时显示进度条。
我是脚本编写的新手,但已经设法拼凑了一些东西来实现对徽标进行排序的主要目标。
步骤是:
Select 包含文件的文件夹
根据文件名将文件分类到相应的文件夹中
删除所有空文件夹。
问题
我无法在此 Apple 脚本中显示进度。
研究
我在此处阅读了有关显示进度的 Apple 文档:
https://developer.apple.com/library/archive/documentation/LanguagesUtilities/Conceptual/MacAutomationScriptingGuide/DisplayProgress.html
这是他们提供的代码:
set theImages to choose file with prompt "Please select some images to process:" of type {"public.image"} with multiple selections allowed
set theImages to choose file with prompt "Please select some images to process:" of type {"public.image"} with multiple selections allowed
-- Update the initial progress information
set theImageCount to length of theImages
set progress total steps to theImageCount
set progress completed steps to 0
set progress description to "Processing Images..."
set progress additional description to "Preparing to process."
repeat with a from 1 to length of theImages
-- Update the progress detail
set progress additional description to "Processing image " & a & " of " & theImageCount
-- Process the image
-- Increment the progress
set progress completed steps to a
-- Pause for demonstration purposes, so progress can be seen
delay 1
end repeat
-- Reset the progress information
set progress total steps to 0
set progress completed steps to 0
set progress description to ""
set progress additional description to ""
我尝试实现它,但出现错误。
错误
脚本错误
Finder 出错:无法将进度总步数设置为 53。
我的苹果脚本
我打算 post 在尝试添加显示进程之前的代码。
tell application "Finder"
-- Gets the logo package folder from a prompt
set packageFolder to (choose folder with prompt "Please choose your logo package folder") as string
-- REVERSE JPG CLEANUP
delete (every file of folder packageFolder whose name contains "reverse-rgb-300.jpg")
delete (every file of folder packageFolder whose name contains "reverse-rgb-900.jpg")
-- Moves files from the logo package folder into their appropriate configuration subfolders
move (every file of folder packageFolder whose name contains "logo-") to folder (packageFolder & "Logo")
move (every file of folder packageFolder whose name contains "logotype-") to folder (packageFolder & "Logotype")
move (every file of folder packageFolder whose name contains "logoMark-") to folder (packageFolder & "Logo Mark")
-- LOGO FOLDER
-- Sort logo folder files into their appropriate color scheme folders
move (every file of folder (packageFolder & "Logo") whose name contains "fullColor") to folder (packageFolder & "Logo:01 Full Color")
move (every file of folder (packageFolder & "Logo") whose name contains "oneColor") to folder (packageFolder & "Logo:02 One Color")
move (every file of folder (packageFolder & "Logo") whose name contains "reverse") to folder (packageFolder & "Logo:03 Reverse")
-- FULL COLOR FOLDER ==========
-- Moves files from the 01 Full Color folder to their appropriate application folder
move (every file of folder (packageFolder & "Logo:01 Full Color") whose name contains "cmyk") to folder (packageFolder & "Logo:01 Full Color:Print")
move (every file of folder (packageFolder & "Logo:01 Full Color") whose name contains "pms") to folder (packageFolder & "Logo:01 Full Color:Print")
move (every file of folder (packageFolder & "Logo:01 Full Color") whose name contains "rgb") to folder (packageFolder & "Logo:01 Full Color:Digital")
-- Moves files from the digital application folder to the bitmap folder
move (every file of folder (packageFolder & "Logo:01 Full Color:Digital") whose name contains ".jpg") to folder (packageFolder & "Logo:01 Full Color:Digital:Bitmap")
move (every file of folder (packageFolder & "Logo:01 Full Color:Digital") whose name contains ".png") to folder (packageFolder & "Logo:01 Full Color:Digital:Bitmap")
-- Moves files from the print application folder to their appropriate color gamut folder
move (every file of folder (packageFolder & "Logo:01 Full Color:Print") whose name contains "cmyk") to folder (packageFolder & "Logo:01 Full Color:Print:01 CMYK")
move (every file of folder (packageFolder & "Logo:01 Full Color:Print") whose name contains "pms-c") to folder (packageFolder & "Logo:01 Full Color:Print:02 Pantone Coated")
move (every file of folder (packageFolder & "Logo:01 Full Color:Print") whose name contains "pms-u") to folder (packageFolder & "Logo:01 Full Color:Print:03 Pantone Uncoated")
-- ONE COLOR FOLDER ==========
-- Moves files from the 02 One Color folder to their appropriate application folder
move (every file of folder (packageFolder & "Logo:02 One Color") whose name contains "cmyk") to folder (packageFolder & "Logo:02 One Color:Print")
move (every file of folder (packageFolder & "Logo:02 One Color") whose name contains "pms") to folder (packageFolder & "Logo:02 One Color:Print")
move (every file of folder (packageFolder & "Logo:02 One Color") whose name contains "rgb") to folder (packageFolder & "Logo:02 One Color:Digital")
-- Moves files from the digital application folder to the bitmap folder
move (every file of folder (packageFolder & "Logo:02 One Color:Digital") whose name contains ".jpg") to folder (packageFolder & "Logo:02 One Color:Digital:Bitmap")
move (every file of folder (packageFolder & "Logo:02 One Color:Digital") whose name contains ".png") to folder (packageFolder & "Logo:02 One Color:Digital:Bitmap")
-- Moves files from the print application folder to their appropriate color gamut folder
move (every file of folder (packageFolder & "Logo:02 One Color:Print") whose name contains "cmyk") to folder (packageFolder & "Logo:02 One Color:Print:01 CMYK")
move (every file of folder (packageFolder & "Logo:02 One Color:Print") whose name contains "pms-c") to folder (packageFolder & "Logo:02 One Color:Print:02 Pantone Coated")
move (every file of folder (packageFolder & "Logo:02 One Color:Print") whose name contains "pms-u") to folder (packageFolder & "Logo:02 One Color:Print:03 Pantone Uncoated")
-- REVERSE FOLDER ==========
-- Moves files from the 03 Reverse folder to their appropriate application folder
move (every file of folder (packageFolder & "Logo:03 Reverse") whose name contains "cmyk") to folder (packageFolder & "Logo:03 Reverse:Print")
move (every file of folder (packageFolder & "Logo:03 Reverse") whose name contains "pms") to folder (packageFolder & "Logo:03 Reverse:Print")
move (every file of folder (packageFolder & "Logo:03 Reverse") whose name contains "rgb") to folder (packageFolder & "Logo:03 Reverse:Digital")
-- Moves files from the digital application folder to the bitmap folder
move (every file of folder (packageFolder & "Logo:03 Reverse:Digital") whose name contains ".jpg") to folder (packageFolder & "Logo:03 Reverse:Digital:Bitmap")
move (every file of folder (packageFolder & "Logo:03 Reverse:Digital") whose name contains ".png") to folder (packageFolder & "Logo:03 Reverse:Digital:Bitmap")
-- Moves files from the print application folder to their appropriate color gamut folder
move (every file of folder (packageFolder & "Logo:03 Reverse:Print") whose name contains "cmyk") to folder (packageFolder & "Logo:03 Reverse:Print:01 CMYK")
move (every file of folder (packageFolder & "Logo:03 Reverse:Print") whose name contains "pms-c") to folder (packageFolder & "Logo:03 Reverse:Print:02 Pantone Coated")
move (every file of folder (packageFolder & "Logo:03 Reverse:Print") whose name contains "pms-u") to folder (packageFolder & "Logo:03 Reverse:Print:03 Pantone Uncoated")
-- LOGO MARK FOLDER
-- Sort logo mark folder files into their appropriate color scheme folders
move (every file of folder (packageFolder & "Logo Mark") whose name contains "fullColor") to folder (packageFolder & "Logo Mark:01 Full Color")
move (every file of folder (packageFolder & "Logo Mark") whose name contains "oneColor") to folder (packageFolder & "Logo Mark:02 One Color")
move (every file of folder (packageFolder & "Logo Mark") whose name contains "reverse") to folder (packageFolder & "Logo Mark:03 Reverse")
-- FULL COLOR FOLDER ==========
-- Moves files from the 01 Full Color folder to their appropriate application folder
move (every file of folder (packageFolder & "Logo Mark:01 Full Color") whose name contains "cmyk") to folder (packageFolder & "Logo Mark:01 Full Color:Print")
move (every file of folder (packageFolder & "Logo Mark:01 Full Color") whose name contains "pms") to folder (packageFolder & "Logo Mark:01 Full Color:Print")
move (every file of folder (packageFolder & "Logo Mark:01 Full Color") whose name contains "rgb") to folder (packageFolder & "Logo Mark:01 Full Color:Digital")
-- Moves files from the digital application folder to the bitmap folder
move (every file of folder (packageFolder & "Logo Mark:01 Full Color:Digital") whose name contains ".jpg") to folder (packageFolder & "Logo Mark:01 Full Color:Digital:Bitmap")
move (every file of folder (packageFolder & "Logo Mark:01 Full Color:Digital") whose name contains ".png") to folder (packageFolder & "Logo Mark:01 Full Color:Digital:Bitmap")
-- Moves files from the print application folder to their appropriate color gamut folder
move (every file of folder (packageFolder & "Logo Mark:01 Full Color:Print") whose name contains "cmyk") to folder (packageFolder & "Logo Mark:01 Full Color:Print:01 CMYK")
move (every file of folder (packageFolder & "Logo Mark:01 Full Color:Print") whose name contains "pms-c") to folder (packageFolder & "Logo Mark:01 Full Color:Print:02 Pantone Coated")
move (every file of folder (packageFolder & "Logo Mark:01 Full Color:Print") whose name contains "pms-u") to folder (packageFolder & "Logo Mark:01 Full Color:Print:03 Pantone Uncoated")
-- ONE COLOR FOLDER ==========
-- Moves files from the 02 One Color folder to their appropriate application folder
move (every file of folder (packageFolder & "Logo Mark:02 One Color") whose name contains "cmyk") to folder (packageFolder & "Logo Mark:02 One Color:Print")
move (every file of folder (packageFolder & "Logo Mark:02 One Color") whose name contains "pms") to folder (packageFolder & "Logo Mark:02 One Color:Print")
move (every file of folder (packageFolder & "Logo Mark:02 One Color") whose name contains "rgb") to folder (packageFolder & "Logo Mark:02 One Color:Digital")
-- Moves files from the digital application folder to the bitmap folder
move (every file of folder (packageFolder & "Logo Mark:02 One Color:Digital") whose name contains ".jpg") to folder (packageFolder & "Logo Mark:02 One Color:Digital:Bitmap")
move (every file of folder (packageFolder & "Logo Mark:02 One Color:Digital") whose name contains ".png") to folder (packageFolder & "Logo Mark:02 One Color:Digital:Bitmap")
-- Moves files from the print application folder to their appropriate color gamut folder
move (every file of folder (packageFolder & "Logo Mark:02 One Color:Print") whose name contains "cmyk") to folder (packageFolder & "Logo Mark:02 One Color:Print:01 CMYK")
move (every file of folder (packageFolder & "Logo Mark:02 One Color:Print") whose name contains "pms-c") to folder (packageFolder & "Logo Mark:02 One Color:Print:02 Pantone Coated")
move (every file of folder (packageFolder & "Logo Mark:02 One Color:Print") whose name contains "pms-u") to folder (packageFolder & "Logo Mark:02 One Color:Print:03 Pantone Uncoated")
-- REVERSE FOLDER ==========
-- Moves files from the 03 Reverse folder to their appropriate application folder
move (every file of folder (packageFolder & "Logo Mark:03 Reverse") whose name contains "cmyk") to folder (packageFolder & "Logo Mark:03 Reverse:Print")
move (every file of folder (packageFolder & "Logo Mark:03 Reverse") whose name contains "pms") to folder (packageFolder & "Logo Mark:03 Reverse:Print")
move (every file of folder (packageFolder & "Logo Mark:03 Reverse") whose name contains "rgb") to folder (packageFolder & "Logo Mark:03 Reverse:Digital")
-- Moves files from the digital application folder to the bitmap folder
move (every file of folder (packageFolder & "Logo Mark:03 Reverse:Digital") whose name contains ".jpg") to folder (packageFolder & "Logo Mark:03 Reverse:Digital:Bitmap")
move (every file of folder (packageFolder & "Logo Mark:03 Reverse:Digital") whose name contains ".png") to folder (packageFolder & "Logo Mark:03 Reverse:Digital:Bitmap")
-- Moves files from the print application folder to their appropriate color gamut folder
move (every file of folder (packageFolder & "Logo Mark:03 Reverse:Print") whose name contains "cmyk") to folder (packageFolder & "Logo Mark:03 Reverse:Print:01 CMYK")
move (every file of folder (packageFolder & "Logo Mark:03 Reverse:Print") whose name contains "pms-c") to folder (packageFolder & "Logo Mark:03 Reverse:Print:02 Pantone Coated")
move (every file of folder (packageFolder & "Logo Mark:03 Reverse:Print") whose name contains "pms-u") to folder (packageFolder & "Logo Mark:03 Reverse:Print:03 Pantone Uncoated")
-- LOGOTYPE FOLDER
-- Sort logotype folder files into their appropriate color scheme folders
move (every file of folder (packageFolder & "Logotype") whose name contains "fullColor") to folder (packageFolder & "Logotype:01 Full Color")
move (every file of folder (packageFolder & "Logotype") whose name contains "oneColor") to folder (packageFolder & "Logotype:02 One Color")
move (every file of folder (packageFolder & "Logotype") whose name contains "reverse") to folder (packageFolder & "Logotype:03 Reverse")
-- FULL COLOR FOLDER ==========
-- Moves files from the 01 Full Color folder to their appropriate application folder
move (every file of folder (packageFolder & "Logotype:01 Full Color") whose name contains "cmyk") to folder (packageFolder & "Logotype:01 Full Color:Print")
move (every file of folder (packageFolder & "Logotype:01 Full Color") whose name contains "pms") to folder (packageFolder & "Logotype:01 Full Color:Print")
move (every file of folder (packageFolder & "Logotype:01 Full Color") whose name contains "rgb") to folder (packageFolder & "Logotype:01 Full Color:Digital")
-- Moves files from the digital application folder to the bitmap folder
move (every file of folder (packageFolder & "Logotype:01 Full Color:Digital") whose name contains ".jpg") to folder (packageFolder & "Logotype:01 Full Color:Digital:Bitmap")
move (every file of folder (packageFolder & "Logotype:01 Full Color:Digital") whose name contains ".png") to folder (packageFolder & "Logotype:01 Full Color:Digital:Bitmap")
-- Moves files from the print application folder to their appropriate color gamut folder
move (every file of folder (packageFolder & "Logotype:01 Full Color:Print") whose name contains "cmyk") to folder (packageFolder & "Logotype:01 Full Color:Print:01 CMYK")
move (every file of folder (packageFolder & "Logotype:01 Full Color:Print") whose name contains "pms-c") to folder (packageFolder & "Logotype:01 Full Color:Print:02 Pantone Coated")
move (every file of folder (packageFolder & "Logotype:01 Full Color:Print") whose name contains "pms-u") to folder (packageFolder & "Logotype:01 Full Color:Print:03 Pantone Uncoated")
-- ONE COLOR FOLDER ==========
-- Moves files from the 02 One Color folder to their appropriate application folder
move (every file of folder (packageFolder & "Logotype:02 One Color") whose name contains "cmyk") to folder (packageFolder & "Logotype:02 One Color:Print")
move (every file of folder (packageFolder & "Logotype:02 One Color") whose name contains "pms") to folder (packageFolder & "Logotype:02 One Color:Print")
move (every file of folder (packageFolder & "Logotype:02 One Color") whose name contains "rgb") to folder (packageFolder & "Logotype:02 One Color:Digital")
-- Moves files from the digital application folder to the bitmap folder
move (every file of folder (packageFolder & "Logotype:02 One Color:Digital") whose name contains ".jpg") to folder (packageFolder & "Logotype:02 One Color:Digital:Bitmap")
move (every file of folder (packageFolder & "Logotype:02 One Color:Digital") whose name contains ".png") to folder (packageFolder & "Logotype:02 One Color:Digital:Bitmap")
-- Moves files from the print application folder to their appropriate color gamut folder
move (every file of folder (packageFolder & "Logotype:02 One Color:Print") whose name contains "cmyk") to folder (packageFolder & "Logotype:02 One Color:Print:01 CMYK")
move (every file of folder (packageFolder & "Logotype:02 One Color:Print") whose name contains "pms-c") to folder (packageFolder & "Logotype:02 One Color:Print:02 Pantone Coated")
move (every file of folder (packageFolder & "Logotype:02 One Color:Print") whose name contains "pms-u") to folder (packageFolder & "Logotype:02 One Color:Print:03 Pantone Uncoated")
-- REVERSE FOLDER ==========
-- Moves files from the 03 Reverse folder to their appropriate application folder
move (every file of folder (packageFolder & "Logotype:03 Reverse") whose name contains "cmyk") to folder (packageFolder & "Logotype:03 Reverse:Print")
move (every file of folder (packageFolder & "Logotype:03 Reverse") whose name contains "pms") to folder (packageFolder & "Logotype:03 Reverse:Print")
move (every file of folder (packageFolder & "Logotype:03 Reverse") whose name contains "rgb") to folder (packageFolder & "Logotype:03 Reverse:Digital")
-- Moves files from the digital application folder to the bitmap folder
move (every file of folder (packageFolder & "Logotype:03 Reverse:Digital") whose name contains ".jpg") to folder (packageFolder & "Logotype:03 Reverse:Digital:Bitmap")
move (every file of folder (packageFolder & "Logotype:03 Reverse:Digital") whose name contains ".png") to folder (packageFolder & "Logotype:03 Reverse:Digital:Bitmap")
-- Moves files from the print application folder to their appropriate color gamut folder
move (every file of folder (packageFolder & "Logotype:03 Reverse:Print") whose name contains "cmyk") to folder (packageFolder & "Logotype:03 Reverse:Print:01 CMYK")
move (every file of folder (packageFolder & "Logotype:03 Reverse:Print") whose name contains "pms-c") to folder (packageFolder & "Logotype:03 Reverse:Print:02 Pantone Coated")
move (every file of folder (packageFolder & "Logotype:03 Reverse:Print") whose name contains "pms-u") to folder (packageFolder & "Logotype:03 Reverse:Print:03 Pantone Uncoated")
end tell
-- Delete any empty folders
tell application "Finder"
set posixPath to quoted form of POSIX path of packageFolder
do shell script "find " & posixPath & " -name '.DS_Store' -type f -delete && find " & posixPath & " -empty -type d -delete"
display alert "Congratulations! Your logo package is complete."
end tell
我知道这样问是不是太过分了,但我知道以我目前在这个领域的技能水平,我无法从一小段代码中推断出解决方案。
为了重申这个问题,我只是想在这个脚本 运行 时显示一个进度条。
谢谢大家!
你有 32 个 move
组和一个 delete
块,所以在脚本的开头初始化进度条。 Finder
告诉块稍后开始
-- Gets the logo package folder from a prompt
set packageFolder to (choose folder with prompt "Please choose your logo package folder") as string
set progress total steps to 33
set progress completed steps to 0
set progress description to "Processing Files..."
set progress additional description to "Preparing to process."
您必须在每个组之后递增 completed steps
属性 而不是循环,您甚至可以显示一条消息。为了方便起见,我建议使用两个处理程序。将它们放在 Finder
告诉块之外的脚本末尾。
on incrementCompleted()
set progress completed steps to (get progress completed steps) + 1
end incrementCompleted
on displayProgressMessage(msg)
set progress additional description to msg
end displayProgressMessage
现在是移动部分,这是前两组,其余的你必须添加(my
前缀很重要)
tell application "Finder"
-- REVERSE JPG CLEANUP
my displayProgressMessage("REVERSE JPG CLEANUP")
delete (every file of folder packageFolder whose name contains "reverse-rgb-300.jpg")
delete (every file of folder packageFolder whose name contains "reverse-rgb-900.jpg")
my incrementCompleted()
-- Moves files from the logo package folder into their appropriate configuration subfolders
my displayProgressMessage("Moves files from the logo package folder into their appropriate configuration subfolders")
move (every file of folder packageFolder whose name contains "logo-") to folder (packageFolder & "Logo")
move (every file of folder packageFolder whose name contains "logotype-") to folder (packageFolder & "Logotype")
move (every file of folder packageFolder whose name contains "logoMark-") to folder (packageFolder & "Logo Mark")
my incrementCompleted()
...
最后重置进度条
-- Moves files from the print application folder to their appropriate color gamut folder
my displayProgressMessage("Moves files from the print application folder to their appropriate color gamut folder")
move (every file of folder (packageFolder & "Logotype:03 Reverse:Print") whose name contains "cmyk") to folder (packageFolder & "Logotype:03 Reverse:Print:01 CMYK")
move (every file of folder (packageFolder & "Logotype:03 Reverse:Print") whose name contains "pms-c") to folder (packageFolder & "Logotype:03 Reverse:Print:02 Pantone Coated")
move (every file of folder (packageFolder & "Logotype:03 Reverse:Print") whose name contains "pms-u") to folder (packageFolder & "Logotype:03 Reverse:Print:03 Pantone Uncoated")
my incrementCompleted()
end tell
-- Delete any empty folders
displayProgressMessage("Delete any empty folders") -- outside of a tell block `my` is not needed
-- The shell script part is not related to the Finder
set posixPath to quoted form of POSIX path of packageFolder
do shell script "find " & posixPath & " -name '.DS_Store' -type f -delete && find " & posixPath & " -empty -type d -delete"
set progress total steps to 0
set progress completed steps to 0
set progress description to ""
set progress additional description to ""
tell application "Finder" to display alert "Congratulations! Your logo package is complete."
我还在学习这里的规则,所以如果这个问题不合适请告诉我。
背景
我是一名平面设计师。我创建了一个 Apple Script,它将徽标文件分类到文件夹中以制作徽标包。该过程可能需要一两分钟,因此我希望能够在 运行 此 Apple 脚本时显示进度条。
我是脚本编写的新手,但已经设法拼凑了一些东西来实现对徽标进行排序的主要目标。
步骤是:
Select 包含文件的文件夹
根据文件名将文件分类到相应的文件夹中
删除所有空文件夹。
问题
我无法在此 Apple 脚本中显示进度。
研究
我在此处阅读了有关显示进度的 Apple 文档: https://developer.apple.com/library/archive/documentation/LanguagesUtilities/Conceptual/MacAutomationScriptingGuide/DisplayProgress.html
这是他们提供的代码:
set theImages to choose file with prompt "Please select some images to process:" of type {"public.image"} with multiple selections allowed
set theImages to choose file with prompt "Please select some images to process:" of type {"public.image"} with multiple selections allowed
-- Update the initial progress information
set theImageCount to length of theImages
set progress total steps to theImageCount
set progress completed steps to 0
set progress description to "Processing Images..."
set progress additional description to "Preparing to process."
repeat with a from 1 to length of theImages
-- Update the progress detail
set progress additional description to "Processing image " & a & " of " & theImageCount
-- Process the image
-- Increment the progress
set progress completed steps to a
-- Pause for demonstration purposes, so progress can be seen
delay 1
end repeat
-- Reset the progress information
set progress total steps to 0
set progress completed steps to 0
set progress description to ""
set progress additional description to ""
我尝试实现它,但出现错误。
错误
脚本错误
Finder 出错:无法将进度总步数设置为 53。
我的苹果脚本
我打算 post 在尝试添加显示进程之前的代码。
tell application "Finder"
-- Gets the logo package folder from a prompt
set packageFolder to (choose folder with prompt "Please choose your logo package folder") as string
-- REVERSE JPG CLEANUP
delete (every file of folder packageFolder whose name contains "reverse-rgb-300.jpg")
delete (every file of folder packageFolder whose name contains "reverse-rgb-900.jpg")
-- Moves files from the logo package folder into their appropriate configuration subfolders
move (every file of folder packageFolder whose name contains "logo-") to folder (packageFolder & "Logo")
move (every file of folder packageFolder whose name contains "logotype-") to folder (packageFolder & "Logotype")
move (every file of folder packageFolder whose name contains "logoMark-") to folder (packageFolder & "Logo Mark")
-- LOGO FOLDER
-- Sort logo folder files into their appropriate color scheme folders
move (every file of folder (packageFolder & "Logo") whose name contains "fullColor") to folder (packageFolder & "Logo:01 Full Color")
move (every file of folder (packageFolder & "Logo") whose name contains "oneColor") to folder (packageFolder & "Logo:02 One Color")
move (every file of folder (packageFolder & "Logo") whose name contains "reverse") to folder (packageFolder & "Logo:03 Reverse")
-- FULL COLOR FOLDER ==========
-- Moves files from the 01 Full Color folder to their appropriate application folder
move (every file of folder (packageFolder & "Logo:01 Full Color") whose name contains "cmyk") to folder (packageFolder & "Logo:01 Full Color:Print")
move (every file of folder (packageFolder & "Logo:01 Full Color") whose name contains "pms") to folder (packageFolder & "Logo:01 Full Color:Print")
move (every file of folder (packageFolder & "Logo:01 Full Color") whose name contains "rgb") to folder (packageFolder & "Logo:01 Full Color:Digital")
-- Moves files from the digital application folder to the bitmap folder
move (every file of folder (packageFolder & "Logo:01 Full Color:Digital") whose name contains ".jpg") to folder (packageFolder & "Logo:01 Full Color:Digital:Bitmap")
move (every file of folder (packageFolder & "Logo:01 Full Color:Digital") whose name contains ".png") to folder (packageFolder & "Logo:01 Full Color:Digital:Bitmap")
-- Moves files from the print application folder to their appropriate color gamut folder
move (every file of folder (packageFolder & "Logo:01 Full Color:Print") whose name contains "cmyk") to folder (packageFolder & "Logo:01 Full Color:Print:01 CMYK")
move (every file of folder (packageFolder & "Logo:01 Full Color:Print") whose name contains "pms-c") to folder (packageFolder & "Logo:01 Full Color:Print:02 Pantone Coated")
move (every file of folder (packageFolder & "Logo:01 Full Color:Print") whose name contains "pms-u") to folder (packageFolder & "Logo:01 Full Color:Print:03 Pantone Uncoated")
-- ONE COLOR FOLDER ==========
-- Moves files from the 02 One Color folder to their appropriate application folder
move (every file of folder (packageFolder & "Logo:02 One Color") whose name contains "cmyk") to folder (packageFolder & "Logo:02 One Color:Print")
move (every file of folder (packageFolder & "Logo:02 One Color") whose name contains "pms") to folder (packageFolder & "Logo:02 One Color:Print")
move (every file of folder (packageFolder & "Logo:02 One Color") whose name contains "rgb") to folder (packageFolder & "Logo:02 One Color:Digital")
-- Moves files from the digital application folder to the bitmap folder
move (every file of folder (packageFolder & "Logo:02 One Color:Digital") whose name contains ".jpg") to folder (packageFolder & "Logo:02 One Color:Digital:Bitmap")
move (every file of folder (packageFolder & "Logo:02 One Color:Digital") whose name contains ".png") to folder (packageFolder & "Logo:02 One Color:Digital:Bitmap")
-- Moves files from the print application folder to their appropriate color gamut folder
move (every file of folder (packageFolder & "Logo:02 One Color:Print") whose name contains "cmyk") to folder (packageFolder & "Logo:02 One Color:Print:01 CMYK")
move (every file of folder (packageFolder & "Logo:02 One Color:Print") whose name contains "pms-c") to folder (packageFolder & "Logo:02 One Color:Print:02 Pantone Coated")
move (every file of folder (packageFolder & "Logo:02 One Color:Print") whose name contains "pms-u") to folder (packageFolder & "Logo:02 One Color:Print:03 Pantone Uncoated")
-- REVERSE FOLDER ==========
-- Moves files from the 03 Reverse folder to their appropriate application folder
move (every file of folder (packageFolder & "Logo:03 Reverse") whose name contains "cmyk") to folder (packageFolder & "Logo:03 Reverse:Print")
move (every file of folder (packageFolder & "Logo:03 Reverse") whose name contains "pms") to folder (packageFolder & "Logo:03 Reverse:Print")
move (every file of folder (packageFolder & "Logo:03 Reverse") whose name contains "rgb") to folder (packageFolder & "Logo:03 Reverse:Digital")
-- Moves files from the digital application folder to the bitmap folder
move (every file of folder (packageFolder & "Logo:03 Reverse:Digital") whose name contains ".jpg") to folder (packageFolder & "Logo:03 Reverse:Digital:Bitmap")
move (every file of folder (packageFolder & "Logo:03 Reverse:Digital") whose name contains ".png") to folder (packageFolder & "Logo:03 Reverse:Digital:Bitmap")
-- Moves files from the print application folder to their appropriate color gamut folder
move (every file of folder (packageFolder & "Logo:03 Reverse:Print") whose name contains "cmyk") to folder (packageFolder & "Logo:03 Reverse:Print:01 CMYK")
move (every file of folder (packageFolder & "Logo:03 Reverse:Print") whose name contains "pms-c") to folder (packageFolder & "Logo:03 Reverse:Print:02 Pantone Coated")
move (every file of folder (packageFolder & "Logo:03 Reverse:Print") whose name contains "pms-u") to folder (packageFolder & "Logo:03 Reverse:Print:03 Pantone Uncoated")
-- LOGO MARK FOLDER
-- Sort logo mark folder files into their appropriate color scheme folders
move (every file of folder (packageFolder & "Logo Mark") whose name contains "fullColor") to folder (packageFolder & "Logo Mark:01 Full Color")
move (every file of folder (packageFolder & "Logo Mark") whose name contains "oneColor") to folder (packageFolder & "Logo Mark:02 One Color")
move (every file of folder (packageFolder & "Logo Mark") whose name contains "reverse") to folder (packageFolder & "Logo Mark:03 Reverse")
-- FULL COLOR FOLDER ==========
-- Moves files from the 01 Full Color folder to their appropriate application folder
move (every file of folder (packageFolder & "Logo Mark:01 Full Color") whose name contains "cmyk") to folder (packageFolder & "Logo Mark:01 Full Color:Print")
move (every file of folder (packageFolder & "Logo Mark:01 Full Color") whose name contains "pms") to folder (packageFolder & "Logo Mark:01 Full Color:Print")
move (every file of folder (packageFolder & "Logo Mark:01 Full Color") whose name contains "rgb") to folder (packageFolder & "Logo Mark:01 Full Color:Digital")
-- Moves files from the digital application folder to the bitmap folder
move (every file of folder (packageFolder & "Logo Mark:01 Full Color:Digital") whose name contains ".jpg") to folder (packageFolder & "Logo Mark:01 Full Color:Digital:Bitmap")
move (every file of folder (packageFolder & "Logo Mark:01 Full Color:Digital") whose name contains ".png") to folder (packageFolder & "Logo Mark:01 Full Color:Digital:Bitmap")
-- Moves files from the print application folder to their appropriate color gamut folder
move (every file of folder (packageFolder & "Logo Mark:01 Full Color:Print") whose name contains "cmyk") to folder (packageFolder & "Logo Mark:01 Full Color:Print:01 CMYK")
move (every file of folder (packageFolder & "Logo Mark:01 Full Color:Print") whose name contains "pms-c") to folder (packageFolder & "Logo Mark:01 Full Color:Print:02 Pantone Coated")
move (every file of folder (packageFolder & "Logo Mark:01 Full Color:Print") whose name contains "pms-u") to folder (packageFolder & "Logo Mark:01 Full Color:Print:03 Pantone Uncoated")
-- ONE COLOR FOLDER ==========
-- Moves files from the 02 One Color folder to their appropriate application folder
move (every file of folder (packageFolder & "Logo Mark:02 One Color") whose name contains "cmyk") to folder (packageFolder & "Logo Mark:02 One Color:Print")
move (every file of folder (packageFolder & "Logo Mark:02 One Color") whose name contains "pms") to folder (packageFolder & "Logo Mark:02 One Color:Print")
move (every file of folder (packageFolder & "Logo Mark:02 One Color") whose name contains "rgb") to folder (packageFolder & "Logo Mark:02 One Color:Digital")
-- Moves files from the digital application folder to the bitmap folder
move (every file of folder (packageFolder & "Logo Mark:02 One Color:Digital") whose name contains ".jpg") to folder (packageFolder & "Logo Mark:02 One Color:Digital:Bitmap")
move (every file of folder (packageFolder & "Logo Mark:02 One Color:Digital") whose name contains ".png") to folder (packageFolder & "Logo Mark:02 One Color:Digital:Bitmap")
-- Moves files from the print application folder to their appropriate color gamut folder
move (every file of folder (packageFolder & "Logo Mark:02 One Color:Print") whose name contains "cmyk") to folder (packageFolder & "Logo Mark:02 One Color:Print:01 CMYK")
move (every file of folder (packageFolder & "Logo Mark:02 One Color:Print") whose name contains "pms-c") to folder (packageFolder & "Logo Mark:02 One Color:Print:02 Pantone Coated")
move (every file of folder (packageFolder & "Logo Mark:02 One Color:Print") whose name contains "pms-u") to folder (packageFolder & "Logo Mark:02 One Color:Print:03 Pantone Uncoated")
-- REVERSE FOLDER ==========
-- Moves files from the 03 Reverse folder to their appropriate application folder
move (every file of folder (packageFolder & "Logo Mark:03 Reverse") whose name contains "cmyk") to folder (packageFolder & "Logo Mark:03 Reverse:Print")
move (every file of folder (packageFolder & "Logo Mark:03 Reverse") whose name contains "pms") to folder (packageFolder & "Logo Mark:03 Reverse:Print")
move (every file of folder (packageFolder & "Logo Mark:03 Reverse") whose name contains "rgb") to folder (packageFolder & "Logo Mark:03 Reverse:Digital")
-- Moves files from the digital application folder to the bitmap folder
move (every file of folder (packageFolder & "Logo Mark:03 Reverse:Digital") whose name contains ".jpg") to folder (packageFolder & "Logo Mark:03 Reverse:Digital:Bitmap")
move (every file of folder (packageFolder & "Logo Mark:03 Reverse:Digital") whose name contains ".png") to folder (packageFolder & "Logo Mark:03 Reverse:Digital:Bitmap")
-- Moves files from the print application folder to their appropriate color gamut folder
move (every file of folder (packageFolder & "Logo Mark:03 Reverse:Print") whose name contains "cmyk") to folder (packageFolder & "Logo Mark:03 Reverse:Print:01 CMYK")
move (every file of folder (packageFolder & "Logo Mark:03 Reverse:Print") whose name contains "pms-c") to folder (packageFolder & "Logo Mark:03 Reverse:Print:02 Pantone Coated")
move (every file of folder (packageFolder & "Logo Mark:03 Reverse:Print") whose name contains "pms-u") to folder (packageFolder & "Logo Mark:03 Reverse:Print:03 Pantone Uncoated")
-- LOGOTYPE FOLDER
-- Sort logotype folder files into their appropriate color scheme folders
move (every file of folder (packageFolder & "Logotype") whose name contains "fullColor") to folder (packageFolder & "Logotype:01 Full Color")
move (every file of folder (packageFolder & "Logotype") whose name contains "oneColor") to folder (packageFolder & "Logotype:02 One Color")
move (every file of folder (packageFolder & "Logotype") whose name contains "reverse") to folder (packageFolder & "Logotype:03 Reverse")
-- FULL COLOR FOLDER ==========
-- Moves files from the 01 Full Color folder to their appropriate application folder
move (every file of folder (packageFolder & "Logotype:01 Full Color") whose name contains "cmyk") to folder (packageFolder & "Logotype:01 Full Color:Print")
move (every file of folder (packageFolder & "Logotype:01 Full Color") whose name contains "pms") to folder (packageFolder & "Logotype:01 Full Color:Print")
move (every file of folder (packageFolder & "Logotype:01 Full Color") whose name contains "rgb") to folder (packageFolder & "Logotype:01 Full Color:Digital")
-- Moves files from the digital application folder to the bitmap folder
move (every file of folder (packageFolder & "Logotype:01 Full Color:Digital") whose name contains ".jpg") to folder (packageFolder & "Logotype:01 Full Color:Digital:Bitmap")
move (every file of folder (packageFolder & "Logotype:01 Full Color:Digital") whose name contains ".png") to folder (packageFolder & "Logotype:01 Full Color:Digital:Bitmap")
-- Moves files from the print application folder to their appropriate color gamut folder
move (every file of folder (packageFolder & "Logotype:01 Full Color:Print") whose name contains "cmyk") to folder (packageFolder & "Logotype:01 Full Color:Print:01 CMYK")
move (every file of folder (packageFolder & "Logotype:01 Full Color:Print") whose name contains "pms-c") to folder (packageFolder & "Logotype:01 Full Color:Print:02 Pantone Coated")
move (every file of folder (packageFolder & "Logotype:01 Full Color:Print") whose name contains "pms-u") to folder (packageFolder & "Logotype:01 Full Color:Print:03 Pantone Uncoated")
-- ONE COLOR FOLDER ==========
-- Moves files from the 02 One Color folder to their appropriate application folder
move (every file of folder (packageFolder & "Logotype:02 One Color") whose name contains "cmyk") to folder (packageFolder & "Logotype:02 One Color:Print")
move (every file of folder (packageFolder & "Logotype:02 One Color") whose name contains "pms") to folder (packageFolder & "Logotype:02 One Color:Print")
move (every file of folder (packageFolder & "Logotype:02 One Color") whose name contains "rgb") to folder (packageFolder & "Logotype:02 One Color:Digital")
-- Moves files from the digital application folder to the bitmap folder
move (every file of folder (packageFolder & "Logotype:02 One Color:Digital") whose name contains ".jpg") to folder (packageFolder & "Logotype:02 One Color:Digital:Bitmap")
move (every file of folder (packageFolder & "Logotype:02 One Color:Digital") whose name contains ".png") to folder (packageFolder & "Logotype:02 One Color:Digital:Bitmap")
-- Moves files from the print application folder to their appropriate color gamut folder
move (every file of folder (packageFolder & "Logotype:02 One Color:Print") whose name contains "cmyk") to folder (packageFolder & "Logotype:02 One Color:Print:01 CMYK")
move (every file of folder (packageFolder & "Logotype:02 One Color:Print") whose name contains "pms-c") to folder (packageFolder & "Logotype:02 One Color:Print:02 Pantone Coated")
move (every file of folder (packageFolder & "Logotype:02 One Color:Print") whose name contains "pms-u") to folder (packageFolder & "Logotype:02 One Color:Print:03 Pantone Uncoated")
-- REVERSE FOLDER ==========
-- Moves files from the 03 Reverse folder to their appropriate application folder
move (every file of folder (packageFolder & "Logotype:03 Reverse") whose name contains "cmyk") to folder (packageFolder & "Logotype:03 Reverse:Print")
move (every file of folder (packageFolder & "Logotype:03 Reverse") whose name contains "pms") to folder (packageFolder & "Logotype:03 Reverse:Print")
move (every file of folder (packageFolder & "Logotype:03 Reverse") whose name contains "rgb") to folder (packageFolder & "Logotype:03 Reverse:Digital")
-- Moves files from the digital application folder to the bitmap folder
move (every file of folder (packageFolder & "Logotype:03 Reverse:Digital") whose name contains ".jpg") to folder (packageFolder & "Logotype:03 Reverse:Digital:Bitmap")
move (every file of folder (packageFolder & "Logotype:03 Reverse:Digital") whose name contains ".png") to folder (packageFolder & "Logotype:03 Reverse:Digital:Bitmap")
-- Moves files from the print application folder to their appropriate color gamut folder
move (every file of folder (packageFolder & "Logotype:03 Reverse:Print") whose name contains "cmyk") to folder (packageFolder & "Logotype:03 Reverse:Print:01 CMYK")
move (every file of folder (packageFolder & "Logotype:03 Reverse:Print") whose name contains "pms-c") to folder (packageFolder & "Logotype:03 Reverse:Print:02 Pantone Coated")
move (every file of folder (packageFolder & "Logotype:03 Reverse:Print") whose name contains "pms-u") to folder (packageFolder & "Logotype:03 Reverse:Print:03 Pantone Uncoated")
end tell
-- Delete any empty folders
tell application "Finder"
set posixPath to quoted form of POSIX path of packageFolder
do shell script "find " & posixPath & " -name '.DS_Store' -type f -delete && find " & posixPath & " -empty -type d -delete"
display alert "Congratulations! Your logo package is complete."
end tell
我知道这样问是不是太过分了,但我知道以我目前在这个领域的技能水平,我无法从一小段代码中推断出解决方案。
为了重申这个问题,我只是想在这个脚本 运行 时显示一个进度条。
谢谢大家!
你有 32 个 move
组和一个 delete
块,所以在脚本的开头初始化进度条。 Finder
告诉块稍后开始
-- Gets the logo package folder from a prompt
set packageFolder to (choose folder with prompt "Please choose your logo package folder") as string
set progress total steps to 33
set progress completed steps to 0
set progress description to "Processing Files..."
set progress additional description to "Preparing to process."
您必须在每个组之后递增 completed steps
属性 而不是循环,您甚至可以显示一条消息。为了方便起见,我建议使用两个处理程序。将它们放在 Finder
告诉块之外的脚本末尾。
on incrementCompleted()
set progress completed steps to (get progress completed steps) + 1
end incrementCompleted
on displayProgressMessage(msg)
set progress additional description to msg
end displayProgressMessage
现在是移动部分,这是前两组,其余的你必须添加(my
前缀很重要)
tell application "Finder"
-- REVERSE JPG CLEANUP
my displayProgressMessage("REVERSE JPG CLEANUP")
delete (every file of folder packageFolder whose name contains "reverse-rgb-300.jpg")
delete (every file of folder packageFolder whose name contains "reverse-rgb-900.jpg")
my incrementCompleted()
-- Moves files from the logo package folder into their appropriate configuration subfolders
my displayProgressMessage("Moves files from the logo package folder into their appropriate configuration subfolders")
move (every file of folder packageFolder whose name contains "logo-") to folder (packageFolder & "Logo")
move (every file of folder packageFolder whose name contains "logotype-") to folder (packageFolder & "Logotype")
move (every file of folder packageFolder whose name contains "logoMark-") to folder (packageFolder & "Logo Mark")
my incrementCompleted()
...
最后重置进度条
-- Moves files from the print application folder to their appropriate color gamut folder
my displayProgressMessage("Moves files from the print application folder to their appropriate color gamut folder")
move (every file of folder (packageFolder & "Logotype:03 Reverse:Print") whose name contains "cmyk") to folder (packageFolder & "Logotype:03 Reverse:Print:01 CMYK")
move (every file of folder (packageFolder & "Logotype:03 Reverse:Print") whose name contains "pms-c") to folder (packageFolder & "Logotype:03 Reverse:Print:02 Pantone Coated")
move (every file of folder (packageFolder & "Logotype:03 Reverse:Print") whose name contains "pms-u") to folder (packageFolder & "Logotype:03 Reverse:Print:03 Pantone Uncoated")
my incrementCompleted()
end tell
-- Delete any empty folders
displayProgressMessage("Delete any empty folders") -- outside of a tell block `my` is not needed
-- The shell script part is not related to the Finder
set posixPath to quoted form of POSIX path of packageFolder
do shell script "find " & posixPath & " -name '.DS_Store' -type f -delete && find " & posixPath & " -empty -type d -delete"
set progress total steps to 0
set progress completed steps to 0
set progress description to ""
set progress additional description to ""
tell application "Finder" to display alert "Congratulations! Your logo package is complete."