Vai al contenuto

Rinominare file con automator e applescript


Messaggi raccomandati

Ciao ragazzi ho bisogno di una mano con automator o applescript: in una cartella ho 2 file, uno filename1.avi e 2 filename2.srt.

Ora io voglio rinominare il file .srt con il filename1 in modo da poterli avere insieme.

Io vorrei poter copiare il filename1 del file .avi e incollarlo come nome del file .srt senza dargli un nome preimpostato ma solo "prendendolo" dal file .avi....

Se potete darmi dei consigli...Grazie!

PS:il file volevo farlo prendere cercandolo nella cartella e mettendo ottieni file selezionati!!

Ciuco ha effettuato lo switch ad  il: 21/10/2008

 MacBook unibody aluminium 13.3" 2 GHz

 iPhone 2G OS 3.0 8 Gb +  iPhone Bluetooth Headset

 iPod Photo 20 Gb

 iPod nano 4G 8 Gb - Giallo: Sun

Link al commento
Condividi su altri siti

Faccio un esempio...io seguo House in americano...ovviamente lo scarico in una cartella che uso per i download torrent, e successivamente scarico i sottotitoli in un altra cartella...ho creato un flusso automator che mi trova il file "House06exx.avi" e "Housesubita.srt" e li mette in un unica cartella...Ora per chi non è pratico per visualizzare i sottotitoli con vlc il file avi e il file srt devono avere lo stesso nome mantenedo l'estensione...

In pratica nella cartella House dove sono i 2 file devo copiare il "Houses06exx" del file avi e incollarlo al posto di "Housesubita" del file srt....in modo da avere "Houses06exx.avi" e "Houses06exx.srt"...

metto 2 immagini per fa capire meglio...

Prima

schermata20100511a14153.png

Dopo

schermata20100511a14150.png

Ciuco ha effettuato lo switch ad  il: 21/10/2008

 MacBook unibody aluminium 13.3" 2 GHz

 iPhone 2G OS 3.0 8 Gb +  iPhone Bluetooth Headset

 iPod Photo 20 Gb

 iPod nano 4G 8 Gb - Giallo: Sun

Link al commento
Condividi su altri siti

Uhm...

Se è come ho capito io tu dentro questa cartella puoi avere solamente due file, di cui uno è il .avi e l'altro il .srt, giusto?

Perché altrimenti lo script come farebbe a sapere quale è il nome del file AVI da prendere e quello del file SRT da sostituire!?

Ti ho fatto uno script che data la cartella con i due file ti corregge il nome del fileSRT con quello del file AVI.

Se c'è qualcosa che non capisci fammi sapere.

tell application "Finder"
-- imposto la cartella d'origine
set theFolder to folder alias ":Users:IO:Desktop:TEST"


-- ottengo la lista dei file il cui nome finisce con ".avi"
set fileAVI to every item of theFolder whose name ends with ".avi"

-- ci deve essere un solo file AVI
if (count of fileAVI) ≠ 1 then
	display dialog "ERRORE! La cartella deve contenere solamente un file .avi"
	return
end if

-- imposto correttamente la variabile al file ottenuto
set fileAVI to item 1 of fileAVI


-- ottengo la lista dei file il cui nome finisce con ".srt"
set fileSRT to every item of theFolder whose name ends with ".srt"

-- ci deve essere un solo file SRT
if (count of fileSRT) ≠ 1 then
	display dialog "ERRORE! La cartella deve contenere solamente un file .srt"
	return
end if

-- imposto correttamente la variabile al file ottenuto
set fileSRT to item 1 of fileSRT


-- ottengo il nome completo del file AVI
set AviFileCompleteName to name of fileAVI

-- trovo l'offset dell'estensione all'interno del nome
set off to offset of ".avi" in AviFileCompleteName

-- ottengo il solo nome senza l'estensione
set AviFileName to (characters 1 thru (off - 1) of AviFileCompleteName)


-- imposto il nome del file SRT con quello ottenuto e l'estensione ".srt"
set name of fileSRT to (AviFileName & ".srt" as string)
end tell

Marco - Gallery

MacBook Nero 2.2 GHz Intel Core 2 Duo - 4 GB RAM - Mac OS X 10.6 Snow Leopard

Link al commento
Condividi su altri siti

interessante grazie mille anche con i commenti in modo tale da capire anche i vari passi e cominciare ad imparare qualcosina :ghghgh:

si cmq hai ipotizzato bene nella cartella ci sono solo quei 2 file!!

Domanda: la riga dove setti la cartella...Al posto di test ovviamente devo mettere il nome della cartella vero???

Ciuco ha effettuato lo switch ad  il: 21/10/2008

 MacBook unibody aluminium 13.3" 2 GHz

 iPhone 2G OS 3.0 8 Gb +  iPhone Bluetooth Headset

 iPod Photo 20 Gb

 iPod nano 4G 8 Gb - Giallo: Sun

Link al commento
Condividi su altri siti

Sì, ma devi cambiare anche il nome utente IO con il tuo. :)

OPS non ci avevo fatto neanche caso...stasera provo!!!

Ciuco ha effettuato lo switch ad  il: 21/10/2008

 MacBook unibody aluminium 13.3" 2 GHz

 iPhone 2G OS 3.0 8 Gb +  iPhone Bluetooth Headset

 iPod Photo 20 Gb

 iPod nano 4G 8 Gb - Giallo: Sun

Link al commento
Condividi su altri siti

un ultima domanda....è se non ci sono solo quei 2 file??

come si modificherebbe lo script???

Ciuco ha effettuato lo switch ad  il: 21/10/2008

 MacBook unibody aluminium 13.3" 2 GHz

 iPhone 2G OS 3.0 8 Gb +  iPhone Bluetooth Headset

 iPod Photo 20 Gb

 iPod nano 4G 8 Gb - Giallo: Sun

Link al commento
Condividi su altri siti

eh invece volevo mettere altri file srt e avi invece...perchè stavo organizzando la cartella per plex...

Ciuco ha effettuato lo switch ad  il: 21/10/2008

 MacBook unibody aluminium 13.3" 2 GHz

 iPhone 2G OS 3.0 8 Gb +  iPhone Bluetooth Headset

 iPod Photo 20 Gb

 iPod nano 4G 8 Gb - Giallo: Sun

Link al commento
Condividi su altri siti

eh invece volevo mettere altri file srt e avi invece...perchè stavo organizzando la cartella per plex...

Beh, fai come vuoi, ma lo script in questo caso non può funzionare.

Come potrebbe infatti distinguere il file .srt corrispondente al giusto file .avi se non hanno nemmeno lo stesso nome?

Cosa dovrebbe andare ad intuito? :D

Marco - Gallery

MacBook Nero 2.2 GHz Intel Core 2 Duo - 4 GB RAM - Mac OS X 10.6 Snow Leopard

Link al commento
Condividi su altri siti

si si lo so che lo script non è intelligente...sto provando a capire come modificarlo...

Ciuco ha effettuato lo switch ad  il: 21/10/2008

 MacBook unibody aluminium 13.3" 2 GHz

 iPhone 2G OS 3.0 8 Gb +  iPhone Bluetooth Headset

 iPod Photo 20 Gb

 iPod nano 4G 8 Gb - Giallo: Sun

Link al commento
Condividi su altri siti

Come potrebbe infatti distinguere il file .srt corrispondente al giusto file .avi se non hanno nemmeno lo stesso nome?

Cosa dovrebbe andare ad intuito? :D

Forse la data...in tutti i casi la data di creazione del file srt e avi è la stessa :)

Ciuco ha effettuato lo switch ad  il: 21/10/2008

 MacBook unibody aluminium 13.3" 2 GHz

 iPhone 2G OS 3.0 8 Gb +  iPhone Bluetooth Headset

 iPod Photo 20 Gb

 iPod nano 4G 8 Gb - Giallo: Sun

Link al commento
Condividi su altri siti

Forse la data...in tutti i casi la data di creazione del file srt e avi è la stessa :)

Questo funziona se la data di modifica dei due file, AVI e SRT è la stessa identica.

Se ci sono delle differenze minime si potrebbe verificare che l'intervallo sia inferiore ad un certo periodo, ma dovresti essere più preciso con le informazioni. :D

È chiaro che nella cartella ci devono essere un numero uguale di file AVI e SRT.

tell application "Finder"
-- imposto la cartella d'origine
set theFolder to folder alias ":Users:Marco:Desktop:TEST"

-- ottengo la lista dei file il cui nome finisce con ".avi"
set listaAVI to every item of theFolder whose name ends with ".avi"

-- ottengo la lista dei file il cui nome finisce con ".srt"
set listaSRT to every item of theFolder whose name ends with ".srt"

-- ci devono essere un numero uguale di file AVI e SRT
if (count of listaAVI) ≠ (count of listaSRT) then
	display dialog "ERRORE! La cartella deve contenere un numero uguale di file .avi e di file .srt"
	return
end if

-- controllo uno per uno i file AVI
repeat with fileAVI in listaAVI
	-- ottengo la data di modifica del file AVI		
	set dataModAVI to modification date of fileAVI

	-- la contronto uno per uno i file SRT
	repeat with fileSRT in listaSRT
		-- ottengo la data di modifica del file SRT
		set dataModSRT to modification date of fileSRT

		-- se la data di modifica è la stessa cambio il nome
		if dataModAVI = dataModSRT then

			-- ottengo il nome completo del file AVI
			set AviFileCompleteName to name of fileAVI

			-- trovo l'offset dell'estensione all'interno del nome
			set off to offset of ".avi" in AviFileCompleteName

			-- ottengo il solo nome senza l'estensione
			set AviFileName to (characters 1 thru (off - 1) of AviFileCompleteName)


			-- imposto il nome del file SRT con quello ottenuto e l'estensione ".srt"
			set name of fileSRT to (AviFileName & ".srt" as string)

			-- esco dal ciclo perché ho già trovato il file corrispondente
			exit repeat
		end if
	end repeat
end repeat
end tell

Marco - Gallery

MacBook Nero 2.2 GHz Intel Core 2 Duo - 4 GB RAM - Mac OS X 10.6 Snow Leopard

Link al commento
Condividi su altri siti

Questo funziona se la data di modifica dei due file, AVI e SRT è la stessa identica.

Se ci sono delle differenze minime si potrebbe verificare che l'intervallo sia inferiore ad un certo periodo, ma dovresti essere più preciso con le informazioni. :ghghgh:

È chiaro che nella cartella ci devono essere un numero uguale di file AVI e SRT.

per più info intendi sulla data...guarda differiscono di 2 giorni...esempio file video di ieri e srt di oggi!!!cmq al max una settimana massimo!!

MacMomo grazie mille per il tempo che stai perdendo!!

Ciuco ha effettuato lo switch ad  il: 21/10/2008

 MacBook unibody aluminium 13.3" 2 GHz

 iPhone 2G OS 3.0 8 Gb +  iPhone Bluetooth Headset

 iPod Photo 20 Gb

 iPod nano 4G 8 Gb - Giallo: Sun

Link al commento
Condividi su altri siti

in tutti i casi la data di creazione del file srt e avi è la stessa :ghghgh:
guarda differiscono di 2 giorni...esempio file video di ieri e srt di oggi!!!cmq al max una settimana massimo!!

Uhm, queste due affermazioni mi sembrano un po' incoerenti. :ciao:

MacMomo grazie mille per il tempo che stai perdendo!!

Io il tempo ce lo perdo, ma tu bisogna che ci metti anche del tuo. :)

Prima dici che le date sono uguali, poi che differiscono di due giorni e poi addirittura una settimana.

Inoltre presumo che queste differenze sia valide un po' per tutti i file.

Quindi è probabile che per un file AVI del giorno X ci siano due o più file SRT di qualche giorno prima o di qualche giorno dopo.

Solita domanda: come li riconosce lo script?

Fai una cosa, immagina di essere un ignorante assoluto, e devi capire quali sono i due file (AVI e SRT) da unire.

Da cosa riconosci i due file?

Pensaci bene e poi vediamo se si trova una soluzione migliore.

Marco - Gallery

MacBook Nero 2.2 GHz Intel Core 2 Duo - 4 GB RAM - Mac OS X 10.6 Snow Leopard

Link al commento
Condividi su altri siti

hai ragione ti chiedo scusa...è che a parole è un casino spiegarti bene...

cerco di spiegarmi meglio...il file avi è quello con la data di oggi.... il file srt può essere di oggi, ma al peggio avrà la posticipata di 7 giorni....però ogni avi ha un srt ma sempre con una data post-avi!

ci sto pensando ma sto capendo come funzionano gli applescript...anzi se hai una guida :ciao:....

so che risulta essere antipatica come cosa!

spero si capisca altrimenti, va benissimo così come lo hai pensato tu, al max lo faccio a mano!!

Grazie mille ancora!

Ciuco ha effettuato lo switch ad  il: 21/10/2008

 MacBook unibody aluminium 13.3" 2 GHz

 iPhone 2G OS 3.0 8 Gb +  iPhone Bluetooth Headset

 iPod Photo 20 Gb

 iPod nano 4G 8 Gb - Giallo: Sun

Link al commento
Condividi su altri siti

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

×
×
  • Crea Nuovo...