Avere Automator analizza le cartelle ed elenca tutti i nomi di file senza la loro estensione

1

Domanda newbee di Automator qui. Ho cercato in giro e proprio non riesco a trovare quello di cui ho bisogno (né completamente capire come funzionano le cose :-().

Mi piacerebbe far analizzare Automator attraverso una determinata cartella, che è suddivisa in dozzine di cartelle. Ciascuna di queste sottocartelle contiene un numero variabile di file con la rispettiva estensione di file (.mov, .mp4, .wmv e altri). In definitiva, il processo automatizzato produrrebbe l'elenco di tutti i file, meno il nome dell'estensione del file in un file di testo. Ci dovrebbe essere ovunque tra 50 e 200 nomi in totale.

Sorgenti di esempio:
RootFolder > Sottocartella1 > File1.mov, File2.mp4
RootFolder > Sottocartella 2 > File3.wmv, File4.mov, File5.mp4

Contenuto del file di testo di output:
file1
file2
file3 (...)
Questo file di testo può trovarsi al livello RootFolder o sul desktop.

Grazie in anticipo per qualsiasi aiuto tu possa fornire!

Alain

    
posta user71960 03.03.2014 - 15:15
fonte

2 risposte

1

Approccio Automator e Scripting

Le azioni automatiche che desideri sono:

  • Chiedi elementi del Finder, con Tipo impostato su Cartelle .
  • Esegui script di shell, con shell impostato su / usr / bin / perl .
  • Nuovo file di testo

Per lo script della shell, copia e incolla in:

use strict;
use warnings;
use File::Basename;
use File::Find;

find(sub {
    return if (-d $File::Find::name);
    my($filename,undef,undef) = fileparse($_,qr/\.[^.]*/);
    print $filename."\n";
}, shift);

Puoiutilizzarel'azioneNuovodocumentoTextEditsedesiderichel'elencodeifilerisultantevengavisualizzatoinTextEditmanonsalvatosuldisco.

Per ulteriori informazioni sull'utilizzo di Automator, consulta la pagina Nozioni di base su Mac: Automator di Apple

.     
risposta data 03.03.2014 - 16:27
fonte
0

Puoi anche usare un'azione Esegui script shell:

O esegui semplicemente un comando come questo in Terminale:

find ~/path/to/dir -type f|sed 's|.*/||;s|\.[^.]*$||'>~/Desktop/files.txt
    
risposta data 03.03.2014 - 22:01
fonte

Leggi altre domande sui tag