así que aquí tengo este script de Apple que usé para insertar el nombre de la carpeta al frente de todos los archivos en la carpeta. El script puede ejecutarse en todas las carpetas y apuntar a todos los archivos y demostró ser muy útil.
set the_folder to (choose folder)
renamefilesinside(the_folder)
on renamefilesinside(next_folder)
tell application "Finder"
set folder_name to name of next_folder & " "
set folder_contents to every item of next_folder
repeat with each_item in folder_contents
if kind of each_item is "folder" then
my renamefilesinside(each_item)
else
set name of each_item to folder_name & " " & name of each_item
end if
end repeat
end tell
end renamefilesinside
Fuente: https://discusiones.apple.com/thread/275167
Sin embargo, ahora eliminé una parte de los nombres de las carpetas y me gustaría que se aplicara un efecto sustractivo a los archivos, por lo que el script tomará los archivos, mirará el nombre de la carpeta principal y eliminará los caracteres compartidos.
Desafortunadamente, sé muy poco sobre los scripts de Apple, así que espero que este sea un ajuste fácil que alguien aquí pueda hacer.
¡Gracias por cualquier ayuda que usted puede dar!
Puede obtener el nombre del archivo, luego establecer el delimitador del elemento de texto en el nombre de la carpeta que lo contiene, luego colocar los elementos de texto del nombre del archivo en una lista, que ignorará el delimitador (el nombre de la carpeta), luego restablecer el delimitador del elemento de texto a "" vacío y forzar el nombre a una cadena. Este es un truco de Applescript MUY común.
set the_folder to (choose folder)
renamefilesinside(the_folder)
on renamefilesinside(next_folder)
tell application "Finder"
set folder_name to name of next_folder
set folder_contents to every item of next_folder
repeat with each_item in folder_contents
if kind of each_item is "folder" then
my renamefilesinside(each_item)
else
set n to name of each_item
set AppleScript's text item delimiters to folder_name
set n to text items of n
set AppleScript's text item delimiters to ""
set n to n as string
set name of each_item to n
end if
end repeat
end tell
end renamefilesinside
shaunxer
débiles