親フォルダー+祖父母フォルダー名でラベル付けする必要があるファイルを含むサブフォルダーを持つ複数のフォルダーがあります。
つまり、Folder 1>Folder 2>File.jpg の名前を Folder_1_Folder_2_File.jpg に変更する必要があります。
ある程度それを行うスクリプトを見つけることができ、それをリバース エンジニアリングしようとしましたが、うまくいきません。以下のスクリプトには 2 つの課題があります。1) ルート ディレクトリからのパス全体が含まれていることと、2 つ目は、ファイルの名前を削除しているため、エラーが発生する前に 1 つのファイルの名前のみを変更できることです。スクリプトがファイル全体の名前を変更していることが問題であることはわかっていますが、どうすればよいかわかりません。
tell application "Finder"
set a to every folder of (choose folder)
repeat with aa in a
set Base_Name to my MakeBase(aa as string)
set all_files to (every file in aa)
repeat with ff in all_files
set ff's name to (Base_Name & "." & (ff's name extension))
end repeat
end repeat
end tell
to MakeBase(txt)
set astid to AppleScript's text item delimiters
set AppleScript's text item delimiters to ":"
set new_Name_Raw to every text item of txt
set AppleScript's text item delimiters to "_"
set final_Name to every text item of new_Name_Raw as text
set AppleScript's text item delimiters to astid
return final_Name
end MakeBase
ありがとうございました!