Here’s the situation: Every morning I have a folder of files (DV video) consisting of a customer number and “asset number” (12345-01, 29386-04, etc.) that have been batch exported out of FCP overnight. Each customer can have several “assets.”
I want to learn to write a script that will create a new folder for each customer number and then populate the folder with the assets of the same name. The folder should be just “12345” and filled with “12345-01,12345-02…” The customer numbers change every day and the number of assets also varies.
The actual exported files have a much longer name, but as a newbie, I cobbled together a renamer in Automator that gets the files to the correct naming convention. I am grateful for any insights or solutions that would solve my issue and help me learn the method along the way!
Model: Dual 2 GHz PowerPC G5
AppleScript: 2.1.2
Browser: Firefox 2.0.0.9
Operating System: Mac OS X (10.4)
I don’t understand you very well. Please clarify.
-
So first of all, you receive in a folder some files OR in that folder a folder with files in it (and no other folders with files).
e.g.:
"/Folder With Received Files/myFCPMovies/" (where * can only be a file)
OR
"/Folder With Received Files/myFCPMovies/Movie 1/ (where * can only be a file)
-
Second you go to a file to see which customer has send it.
e.g.:
15465-MOVIEID-45A654D (this files belongs to customer 15465
-
Then you check in your database-folder if the folder “15465” all ready exists. If not, make a new one.
-
Move all the files of the folders in “/Folder With Received Files/” to the folder in the database-folder that belongs to the right customer (in this example “15465”)
-
Delete all remaining folders in “/Folder WIth Received Files/”
Am I right?
ief2
Thank you for the reply, here is some clarification.
“/Folder With Received Files/myFCPMovies/*” (where * can only be a file)
This is my starting point every morning. I would like to create a folder inside /myFCPMovies/ for each unique customer number (12345-xx) and then move the FILES with that same 5-digit prefix into the newly created folder.
BEFORE: /myFCPMovies/*12345-01,*12345-02,*12345-03,*9876-01,*9876-02,*9876-03…
AFTER: /myFCPMovies/12345/*12345-01,*12345-02,*12345-03
/myFCPMovies/9876/*9876-01,*9876-02,*9876-03
I’ve been studying books and forums and have made less complicated scripts, but I’m still a newbie. Here’s all I have so far regarding this project.
tell application “Finder”
set theList to every file of (choose folder)
get name of item 1 of theList
set Customer to name of item 1 of theList
make new folder at alias “StripedRAID:Users:Shared:myFCPMovies:” with properties {name:Customer}
end tell
I know I have a long way to go, so I appreciate any guidance that will help me learn better!
Hi,
try this
set sourceFolder to (choose folder)
set destinationFolder to "/Volumes/StripedRAID/Users/Shared/myFCPMovies/"
tell application "Finder" to set theFiles to files of sourceFolder
repeat with aFile in theFiles
set Nm to name of aFile
set {TID, text item delimiters} to {text item delimiters, "-"}
set customer to text item 1 of Nm
set text item delimiters to TID
set dest to quoted form of (destinationFolder & customer & "/" & Nm)
do shell script "/bin/mkdir -p " & quoted form of (destinationFolder & customer)
do shell script "/bin/mv " & quoted form of POSIX path of (aFile as text) & space & dest
end repeat
Thank you my friend! It worked! I’ll enjoy learning the process through reverse-engineering and studying your technique. Hopefully someday soon I will also be posting solutions for helpless newbs!