Rimuove il nome della cartella dal nome del file basato su Apple Script esistente

2

quindi ho qui questo script Apple che ho usato per inserire il nome della cartella nella parte anteriore di tutti i file nella cartella. Lo script è in grado di scorrere ogni singola cartella e indirizzare tutti i file e si è rivelato molto utile

    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

Fonte: link

Tuttavia, ora ho rimosso una parte dei nomi delle cartelle e vorrei applicare un effetto sottrattivo ai file, quindi lo script prenderà i file, controllerà il nome della cartella principale e rimuoverà i caratteri condivisi.

Sfortunatamente so molto poco degli script di Apple, quindi spero che questo sia un aggiustamento facile che qualcuno può fare qui.

Grazie per l'aiuto che puoi dare!

    
posta shaunxer 08.10.2015 - 23:31
fonte

1 risposta

1

È possibile ottenere il nome del file, quindi impostare il delimitatore di testo sul nome della cartella contenente, quindi inserire gli elementi di testo del nome del file in un elenco, che ignorerà il delimitatore (il nome della cartella), quindi reimposta il testo elemento delimitatore per "" vuoto e costringere il nome a una stringa. Questo è un trucco MOLTO comune su Applescript.

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
    
risposta data 11.10.2015 - 07:01
fonte

Leggi altre domande sui tag