2 votos

Quitar el nombre de la carpeta de nombre de archivo, basado en la Apple Script

así que tengo este script de apple aquí que he utilizado para insertar el nombre de la carpeta en la parte delantera de todos los archivos en la carpeta. El script es capaz de ejecutar a través de cada carpeta de destino y de 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://discussions.apple.com/thread/275167

Sin embargo, ahora me han quitado una parte de los nombres de carpeta y quisiera una sustracción de efecto que se aplica a los archivos, de manera que el script va a tomar los archivos, buscar en la carpeta principal del nombre, y quitar los caracteres compartidos.

Por desgracia conozco muy poco acerca de apple secuencias de comandos, así que estoy esperando que esto es un ajuste fácil que alguien de aquí puede hacer.

Gracias por cualquier ayuda que se le puede dar!

1voto

Johnsyweb Puntos 45395

Usted puede obtener el nombre de archivo y, a continuación, establezca el elemento de texto delimitador a la que contiene el nombre de la carpeta, a continuación, poner los elementos de texto del nombre de archivo en una lista, que se ignore el delimitador (el nombre de la carpeta), luego reiniciar el texto del elemento delimitador "" vacío y coaccionar el nombre a una cadena. Esto es MUY común Applescript truco.

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

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X