Eliminando los últimos 10 caracteres de un nombre de archivo mientras se conserva la extensión

0

Tengo archivos que se parecen a esto

[RF] Happy Hour 1 [jdhf2345].mp4
[RF] Happy Hour 1 [jdhf2345].mp4
[RF] Happy Hour 1 [jdhf2345].mp4
[RF] Happy Hour 1 [jdhf2345].mp4

Quiero hacer que los archivos se vean como

Happy Hour 1.mp4

Quiero eliminar el ID después del 1 (puede que no siempre sea un 1, pero siempre tendrá un ID entre corchetes).

    
pregunta software is fun 08.06.2018 - 14:47

2 respuestas

1

Estás haciendo dos preguntas diferentes aquí. Uno es "¿Cómo elimino los últimos 10 caracteres de un nombre de archivo" mientras que el otro va de [RF] Happy Hour 1 [jdhf2345].mp4Happy Hour 1.mp4 ?

No estoy realmente seguro de cuál contestar aquí, ¿así que supongo que responderé la primera?

"¿Cómo elimino los últimos 10 caracteres de un nombre de archivo"

set myFiles to choose file with multiple selections allowed
repeat with myFile in myFiles
    tell application "System Events"
        set myName to the characters 1 thru ((offset of "." in (name of myFile as text)) - 1) of (name of myFile as text)
        tell application "Finder"
            set myExtention to name extension of (myFile as alias)
            set myNewName to characters 1 thru (((length of myName) - 10) as number) of (myName as text)
            set name of file (myFile as text) to (myNewName & "." & myExtention as text)
        end tell
    end tell
end repeat
    
respondido por el JBis 12.06.2018 - 06:39
0

Como fragmento de shell puede utilizar

for i in *.mp4; do
    mv "$i" "$(echo $i | sed 's_ \[.*\]__')"
done

El fragmento de código también se puede incluir en una acción de script de shell en Automator si es necesario.

    
respondido por el nohillside 11.06.2018 - 19:46

Lea otras preguntas en las etiquetas