Crea file ZIP contenenti file correlati da più cartelle

2

Esiste un modo per automatizzare la creazione di ZIP contenenti file con elementi di nome comuni?

Quello che ho sono più varianti della stessa immagine:

file / 2250 / 8199 print.jpg

file / 1200x1200 / 8199 square.jpg

file / 1200x900 / 8199 wide1.jpg

file / 1200x628 / 8199 wide2.jpg

file / 480x360 / 8199 small.jpg

Quello che mi piacerebbe fare è creare una sorta di applicazione che va nelle cartelle, trova i file correlati (tutti contengono "8199") e poi li archivia tutti in un nuovo file chiamato "cartoon8199.zip".

Ho provato a creare un'applicazione tramite Automator, ma non sono riuscito a capire come rendere il campo Nome contiene in Trova elementi del Finder includendo una variabile.

Qualche idea su come ottenere questo risultato?

Sono su un Mac con HighSierra 10.13.3.

Grazie in anticipo!

    
posta Andertoons 25.06.2018 - 20:59
fonte

1 risposta

0

Ecco il tuo script come promesso. Domande o suggerimenti? Commento in basso:)

Che cosa fa lo script : esegue ricerche in una cartella selezionata per le cartelle. Cerca tra ognuna di quelle per i file. Se tali file contengono un parametro di ricerca specificato, il file viene spostato in una cartella in una posizione specificata. Una volta controllati tutti i file, i file nelle cartelle nella posizione specificata sono bloccati.

Per ciò che vuoi: Primo prompt scegli la cartella /files . Nel secondo prompt inserisci 8199 .

Lo script:

set myFolder to choose folder with prompt "Choose a Folder" # Choose the /files folder
display dialog "Enter Your Search Paramaters" default answer "" #Enter "8199"
set mySearch to the text returned of the result
set myZipLocation to the POSIX path of (choose folder with prompt "Choose where to save your ZIP file")
display dialog "Enter the Name of Your Compress File" default answer ""
set myZip to the text returned of the result
tell application "Finder"
    set myFolders to every folder in folder myFolder
    set myFiles to {""}
    repeat with i in myFolders
        set myFiles to myFiles & every file in i
    end repeat
    do shell script ("mkdir " & the quoted form of (myZipLocation & "/" & myZip))
    repeat with i from 2 to count of myFiles
        if the name of (item i of myFiles) contains mySearch then
            set myPOSIX to the quoted form of (the POSIX path of (item i of myFiles as alias))
            do shell script "cp " & myPOSIX & " " & the quoted form of ((myZipLocation & "/" & myZip) & "/" & the name of (item i of myFiles))
        end if
    end repeat
    do shell script "cd " & the quoted form of myZipLocation & "&& zip -r " & quoted form of (myZip & ".zip") & " " & quoted form of myZip
end tell
    
risposta data 26.06.2018 - 04:05
fonte

Leggi altre domande sui tag