Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    298

    Cancellare file in base a delle regole

    Sto cercando un software o uno script per poter cancellare automaticamente dei file in base a delle regole personalizzabili.

    Vi spiego la mia situazione:

    - la mia macchina fotografica digitale produce dei file raw che sono formati da due file: un .MRW (che è il raw vero e proprio) e un .THM (che è una piccola preview).

    - io poi converto tutti i file in un formato .DNG per importarli e lavorarci in Adobe Lightroom

    - una volta importati nella libreria di Lightroom, dal software cancello le foto che non mi interessano

    dato che vorrei archiviare sia i file .DNG che i file nativi della macchina fotografica, vorrei qualcosa che guardasse nella cartella dei file .DNG, confrontasse i nomi dei file con quelli nella cartella dei file .MRW e .THM e cancellasse automaticamente quelli che non sono presenti nella prima.

    Spero di essermi spiegato bene

    E' possibile farlo?

  2. #2
    Che sia possibile farlo sono sicuro che sia possibile (quasi al 100%), come non lo so, se conosci qualche linguaggio di programmazione potresti provare a fartelo.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    298
    beh, sarei in grado di farlo... ma in PHP... che non è il massimo, dovrei tutte le volte far partire il server Apache in locale.

    Se esiste una soluzione più agevole sarebbe molto meglio!

  4. #4
    Io ho appena incominciato a studiare Python e da quanto ho visto mi pare possibile, per cancellare credo serva il modulo shutil, però non so ancora come si può fare, comunque dovresti lo stesso farlo partire ogni volta quando ti serve oppure copiarlo in esecuzione automatica da farlo aprtire quando accendi il pc e ti cancella quelli della volta precedente.

  5. #5
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,523
    Ho visto fare (qui sul forum) cose estremamente potenti utilizzando la Powershell di Windows (che io non conosco, posso solo postare il link http://www.microsoft.com/windowsserv...l/default.mspx )

    Credo la conosca bene l'utente nicola75ss (è sempre stato lui a parlarne), speriamo intervenga in questa discussione

    Per il momento potresti provare a dare un'occhiata al link (o prova a fare una ricerca sul forum) ...

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Presente.

    Allora, fammi capire bene.
    Tu hai ad esempio una cartella DNG che contiene i file

    file1.dng
    file2.dng

    e un'altra cartella che contiene sia i file mrw che thm. I nomi dei file con queste due estensioni coincidono sempre?

    Nel senso hai una situazione del genere

    file1.mrw
    file1.thm
    file2.mrw
    file2.thm
    file3.mrw
    file3.thm

    e vorresti eliminare, nel mio esempio, i due file file3.mrw e file3.thm. E' così?

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    298
    yep! è esattamente quello che vorrei poter fare

    e sì, i nomi dei file (ovviamente a parte l'estensione) coincidono sempre

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Ok. Come ti ha suggerito comas17 devi scaricare la powershell a questo indirizzo

    http://www.microsoft.com/windowsserv.../download.mspx

    prima di procedere alla sua installazione, nel caso non lo abbia già, devi anche scaricare il framework .NET 2.0 affinchè funzioni

    http://www.microsoft.com/downloads/d...d-aab15c5e04f5

    Una volta installata la richiami digitando powershell da esegui. Adesso sei operativo.

    Bene, ora scrivi questi comandi (puoi anche incollarli, dopo averli copiati uno per volta, cliccando sul pulsantino azzurro in alto a sinistra della finestra della shell, andando poi su modifica e infine su incolla).

    codice:
    $dng = gci "C:\Documents and Settings\Nicola\Desktop\prova\DNG" | % {[IO.Path]::GetFileNameWithoutExtension($_)}

    Ovviamente devi adattare i percorsi al tuo caso specifico. Il comando presente qui sopra recupera il nome di tutti i file contenuti nella cartella privandoli dell'estensione.
    Dopo aver incollato il comando se nella shell digiti
    $dng e premi invio vedrai cosa hai ottenuto.

    A questo punto incolla quest'altro comando:

    codice:
    $mrwthm = gci "C:\Documents and Settings\Nicola\Desktop\prova\MRW-THM"
    otterrai l'elenco di tutti i file con le varie informazioni.

    Infine dai quest'ultimo comando:

    codice:
    foreach($file in $mrwthm) {if($dng -notcontains [IO.Path]::GetFileNameWithoutExtension($file.name)) {remove-item $file.fullname -whatif}}
    Questo comando tramite un ciclo, scorrerà tutta la cartella contenente i file mrw e thm. Per ciascuno di essi verifichi che il nome privo di estensione non sia contenuto all'interno della variabile $dng e, in caso affermativo, il file verrà eliminato.
    Per prudenza ho aggiunto al comando lo switch -whatif che in pratica ti restituirà a video una serie di scritte del tipo:

    Whatif: esecuzione dell'operazione "rimuovi il file" sulla destinazione "tuo_percorso" in corso.
    Se ti sei accertato che i file che la powershell intende cancellare sono esattamente quelli che ti aspetti rimuovi il -whatif e riesegui il comando.

    P.S. Per precauzione fatti prima un backup dei tuoi file. Non si sa mai. Fammi sapere.

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    298
    YAY!

    Funziona!!

    Grazie!Grazie!Grazie!Grazie!Grazie!Grazie!


    ultima richiesta, se non è troppo: è possibile inserire tutte le istruzioni in un file (credo tipo un file .bat, giusto?) in modo che quando lo lancio mi chieda come parametri il path della cartella dei dng, quello della cartella dei thm/mrw e poi esegua il controllo/cancellazione?

  10. #10
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Originariamente inviato da Stepunk
    YAY!

    Funziona!!

    Grazie!Grazie!Grazie!Grazie!Grazie!Grazie!


    ultima richiesta, se non è troppo: è possibile inserire tutte le istruzioni in un file (credo tipo un file .bat, giusto?) in modo che quando lo lancio mi chieda come parametri il path della cartella dei dng, quello della cartella dei thm/mrw e poi esegua il controllo/cancellazione?
    Scrivi nella shell il comando get-executionpolicy

    e dimmi cosa ti restuisce.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.