Indice del forum Olimpo Informatico
I Forum di Zeus News
Leggi la newsletter gratuita - Attiva il Menu compatto
 
 FAQFAQ   CercaCerca   Lista utentiLista utenti   GruppiGruppi   RegistratiRegistrati 
 ProfiloProfilo   Messaggi privatiMessaggi privati   Log inLog in 

    Newsletter RSS Facebook Twitter Contatti Ricerca
* Zippare file distinti e mantenerli distinti
Nuovo argomento   Rispondi    Indice del forum -> Software - generale
Precedente :: Successivo  
Autore Messaggio
francescodue
Dio minore
Dio minore


Registrato: 26/09/08 11:00
Messaggi: 565

MessaggioInviato: 26 Set 2008 11:13    Oggetto: * Zippare file distinti e mantenerli distinti Rispondi citando

Salve a tutti.
Ho fatto una ricerca sui forum ma non ho trovato quello che cercavo.
Spero di essere nel forum giusto.
Il mio problema è questo: devo comprimere una serie di file, tutti dello stesso tipo, ma senza compattarli in un unico archivio.
L'ideale sarebbe poi cancellare i file originali in automatico.
Ho provato il comando "compact", ma ovviamente non comprime come uno zip e ho dei dubbi che spostando i file mantenga lo stato.
Sapete se esiste qualcosa?
Mi andrebbe bene anche una stringa da riga di comando o una procedura da seguire: i file sono molti e divisi in parecchie cartelle e sottocartelle.
A proposito: il sistema operativo è Windows XP.
Vi ringrazio in anticipo per l'attenzione.
Top
Profilo Invia messaggio privato
chemicalbit
Dio maturo
Dio maturo


Registrato: 01/04/05 18:59
Messaggi: 18597
Residenza: Milano

MessaggioInviato: 26 Set 2008 11:58    Oggetto: Re: Zippare file distinti e mantenerli distinti Rispondi citando

francescodue ha scritto:
Salve a tutti.
Ciao , benvenuto/a !
Ciao
(Se vuoi, fai un salto in questa discussione a presentarti agli utenti del forum.)

francescodue ha scritto:
Ho fatto una ricerca sui forum ma non ho trovato quello che cercavo.
Spero di essere nel forum giusto.
Beh sì, il forum è giusto, non c'è dubbio.

Una discussione sui programmi per comprimere i file è questa,
ma non tratta specificatamente la questione posta da te.

francescodue ha scritto:
Il mio problema è questo: devo comprimere una serie di file, tutti dello stesso tipo, ma senza compattarli in un unico archivio.
Quindi vuoi creare tanti file ZIP (o formato simile), ciascuno con un solo dei file che vuoi comprimere?

I nomali programmi di compressione (vedi discussione che linkato poco sopra) possono ovviamente creare file compressi contenenti un solo file.

francescodue ha scritto:
'ideale sarebbe poi cancellare i file originali in automatico.
Anche questo può essere fatto da un normale fiel di compressione.

(Per la cronaca il programma Unix "compress" e il programma GNU "gzip", se ben ricordo, agiscono proprio in questo modo: comprimono un solo file (rispettivamente .Z e .gz), e non lasicano il file originario, in pratica lo trasformano in un file compresso
-solitamente se si vogliono comprimenre assieme più file, prima si crea un tar (.tar) che li contiene tutti, e poi si comprime quest'ultimo (.tar.Z o .tar.gz) )




francescodue ha scritto:
Sapete se esiste qualcosa?
Mi andrebbe bene anche una stringa da riga di comando o una procedura da seguire: i file sono molti e divisi in parecchie cartelle e sottocartelle.
A proposito: il sistema operativo è Windows XP.
Non so se esista un programma che faccia in automatico tutto questo,

La prima soluzione che mi viene in mente è creare un file batch (.BAT) con un "programma" che lanci per ogni file da comprimere il programma di compressione (e poi eventualmente elimini il file originario, se non lo fai eliminare in automatico dal programma).
Ovviamente il programma che usi deve essere lanciabile da riga di comando, passandogli gli opportuni parametri.

I file da comprimere sono sempre gli stessi?
Sono tutti quelli in una certa directory (cartella)? (In tal caso puoi usare il comando for del linguaggio batch)
Le cartelle sono sempre le stesse?
Top
Profilo Invia messaggio privato
GrayWolf
Dio maturo
Dio maturo


Registrato: 03/07/05 17:24
Messaggi: 2325
Residenza: ... come frontiera i confini del mondo...

MessaggioInviato: 26 Set 2008 12:14    Oggetto: Rispondi citando

se guardi qui
trovi un compressore da linea comando o da procedura batch
[.bat o .cmd] che fa quello che ti serve.

L'unico inconveniente è doversi redigere la lista dei file a mano.

Però...
con una piccola procedura in vbscript si potrebbe ovviare alla farraginosità e al tedio di doversi compilare tutta la lista.

Se ti dovesse servire la procedurina siamo qua Smile.
Top
Profilo Invia messaggio privato
chemicalbit
Dio maturo
Dio maturo


Registrato: 01/04/05 18:59
Messaggi: 18597
Residenza: Milano

MessaggioInviato: 26 Set 2008 12:55    Oggetto: Rispondi citando

GrayWolf ha scritto:
se guardi qui
trovi un compressore da linea comando o da procedura batch
[.bat o .cmd] che fa quello che ti serve.
Non ho capit la differenza da un "normale" compressore
(sarà che ho guardato un po' di corsa ....)

GrayWolf ha scritto:
L'unico inconveniente è doversi redigere la lista dei file a mano.

Però...
con una piccola procedura in vbscript si potrebbe ovviare alla farraginosità e al tedio di doversi compilare tutta la lista.
E usare FOR dei file batch?
(certo dipende da quali file deve comprimere, es. tutti quelli di una cartella).
Top
Profilo Invia messaggio privato
GrayWolf
Dio maturo
Dio maturo


Registrato: 03/07/05 17:24
Messaggi: 2325
Residenza: ... come frontiera i confini del mondo...

MessaggioInviato: 26 Set 2008 13:17    Oggetto: Rispondi citando

chemicalbit ha scritto:
GrayWolf ha scritto:
se guardi qui
trovi un compressore da linea comando o da procedura batch
[.bat o .cmd] che fa quello che ti serve.
Non ho capit la differenza da un "normale" compressore
(sarà che ho guardato un po' di corsa ....)

Le contenute dimensioni dell'eseguibile e
Citazione:

The IZArc Command Line Add-On is set of advanced command line
tools for Windows. They can be called from batch (.bat) files,
embeded in scripting languages or executed from other applications
.

non li ho provati tutti ma non so quanti dei compressori che girano sotto windows abbiano la stessa possibilità e pletora di comandi da linea comando
chemicalbit ha scritto:

GrayWolf ha scritto:
L'unico inconveniente è doversi redigere la lista dei file a mano.

Però...
con una piccola procedura in vbscript si potrebbe ovviare alla farraginosità e al tedio di doversi compilare tutta la lista.
E usare FOR dei file batch?
(certo dipende da quali file deve comprimere, es. tutti quelli di una cartella).

Vero con un for è possibile ottenere lo stesso risultato, ma difficile da personalizzare: i comandi batch non sono così potenti [a quanto mi ricordi] poi certo, è possibile tutto.
La procedura in vbscript che ho in mente dovrebbe:
.1 accettare come parametro le cartelle contenenti i files da trattare
.2 presentare la lista in notepad per dare la possibilità di escludere alcuni file
.3 leggere la lista corretta e spostare ogni file della lista nella cartella di destinazione.
Top
Profilo Invia messaggio privato
francescodue
Dio minore
Dio minore


Registrato: 26/09/08 11:00
Messaggi: 565

MessaggioInviato: 26 Set 2008 14:42    Oggetto: Rispondi citando

Vi ringrazio per la tempestività.
Ho letto i topic che mi avete indicato.
Vi spiego un po' meglio la mia situazione.
Mi è stato passato un archivio di qualche GB diviso in centinaia tra cartelle e sottocartelle.
Per rimpicciolirlo e renderlo più gestibile per i backup ho pensato di comprimere i file più ingombranti.
Quindi devo comprimere i file IGES (ma vorrei una procedura adattabile ai diversi formati) lasciandoli distinti, in modo che se cerco un file particolare lo vedo al suo posto con il suo nome.
Ho pensato di usare la riga di comando perché la conosco poco mentre di vbscript non so niente.
Avevo pensato una cosa del genere:
cerca i file nella cartella x *.igs -> prendi il primo e comprimilo mantenendo il suo nome -> quando hai finito elimina l'originale -> ripeti con il successivo -> quando non ne trovi altri passa alla sottocartella -> continua per tutte -> quando hai processato tutti i file esci.
Nell'ipotetico caso che sia fattibile (o anche meglio di così) avrei bisogno di qualche indicazione su come scrivere il codice.
Il comando FOR di cui parlate non mi dice niente.
Si vede tanto che sono un principiante?
Ancora grazie.
Top
Profilo Invia messaggio privato
chemicalbit
Dio maturo
Dio maturo


Registrato: 01/04/05 18:59
Messaggi: 18597
Residenza: Milano

MessaggioInviato: 26 Set 2008 16:22    Oggetto: Rispondi citando

con FOR puoi ad es. dire di ripetere un comando per ciascun file *.igs di una directory.


francescodue ha scritto:
Mi è stato passato un archivio di qualche GB diviso in centinaia tra cartelle e sottocartelle.
un archivio, intendi un fil compresso contenente tanti file e cartelle?

francescodue ha scritto:
Per rimpicciolirlo e renderlo più gestibile per i backup ho pensato di comprimere i file più ingombranti.
Di che dimensione voresti che fosse ogni parte, per gestire bene i back up? (come li fai? Su CD? su DVD?)

p.s. che programmi di compressione usi di solito?
Top
Profilo Invia messaggio privato
francescodue
Dio minore
Dio minore


Registrato: 26/09/08 11:00
Messaggi: 565

MessaggioInviato: 26 Set 2008 16:49    Oggetto: Rispondi citando

L'archivio di cui parlo è un disco di lavoro. Quindi i file, le cartelle e le sottocartelle sono state strutturate dagli utenti man mano che lavoravano.
E visto che lo usano tuttora, non posso fargli sparire i file: finché trovano un file con lo stesso nome riescono a capire di dover usare quel file.
Per i backup di solito uso un DAT con il programma Tapeware.
Ma una volta l'anno, o sei mesi se vedo che c'è parecchio lavoro, travaso tutto su DVD suddividendo i dati in base allo spazio e alla gerarchia delle cartelle.
Solo che non ha senso sprecare un DVD per file IGES quando posso comprimerli in pochissimo spazio.
Personalmente uso 7-zip.
Puoi farmi un esempio del comando FOR di cui parli?
Se riuscissi a capire come utilizzare 7-zip da riga di comando magari riuscirei ad utilizzare questo comando. Qualche idea?
Mille grazie intanto.
Top
Profilo Invia messaggio privato
chemicalbit
Dio maturo
Dio maturo


Registrato: 01/04/05 18:59
Messaggi: 18597
Residenza: Milano

MessaggioInviato: 26 Set 2008 16:59    Oggetto: Rispondi citando

Ma quindi quell'"archivio" è tuttora in uso?
Top
Profilo Invia messaggio privato
francescodue
Dio minore
Dio minore


Registrato: 26/09/08 11:00
Messaggi: 565

MessaggioInviato: 26 Set 2008 17:31    Oggetto: Rispondi citando

Una piccola parte di questo archivio viene utilizzato normalmente, il resto, la maggior parte, serve solo da consultazione e raramente.
In pratica, semplificando, è diviso in tre sottocartelle:
la prima con i dati di uso comune, la seconda con i dati da compattare e l'ultima in cui c'è un fritto misto e che devo spulciare per capire cosa c'è dentro e cosa farne.
La seconda parte è quella che mi interessa. Normalmente non viene usata, ma per sicurezza invierò comunicazione di non accedere finché non ho concluso, oppure farò l'operazione durante la pausa o la notte.
Finché non trovo il modo di procedere non ho pensato a questo particolare.
Anche perché, trattandosi di file IGES, verrebbero cercati solo dagli impiegati tecnici, e spero di potermi fidare.
Top
Profilo Invia messaggio privato
GrayWolf
Dio maturo
Dio maturo


Registrato: 03/07/05 17:24
Messaggi: 2325
Residenza: ... come frontiera i confini del mondo...

MessaggioInviato: 26 Set 2008 19:28    Oggetto: Rispondi citando

francescodue ha scritto:
...
Personalmente uso 7-zip.
Puoi farmi un esempio del comando FOR di cui parli?
Se riuscissi a capire come utilizzare 7-zip da riga di comando magari riuscirei ad utilizzare questo comando. Qualche idea?
Mille grazie intanto.


Ho esaminato l'help di 7-zip e gli argomenti della linea comando sono veramente tanti [molti di più di quanti ne immaginassi]
ma non ho trovato un'opzione che mi permetta di "muovere" il file,
cioè di far sparire l'originale dopo averlo compresso [cosa che obbliga alla sua cancellazione manuale].
Lasciami un po' di tempo e vedo di mettere in piedi il vbscript di cui parlavo nel post precedente.
Top
Profilo Invia messaggio privato
chemicalbit
Dio maturo
Dio maturo


Registrato: 01/04/05 18:59
Messaggi: 18597
Residenza: Milano

MessaggioInviato: 26 Set 2008 21:09    Oggetto: Rispondi citando

muovere nel senso di "cancellare l'originale dopo averlo compresso"?
Top
Profilo Invia messaggio privato
ioSOLOio
Amministratore
Amministratore


Registrato: 12/09/03 19:01
Messaggi: 16342
Residenza: in un sacco di...acqua

MessaggioInviato: 27 Set 2008 13:13    Oggetto: Rispondi citando

chemicalbit ha scritto:
muovere nel senso di "cancellare l'originale dopo averlo compresso"?

oh yess..
Arrow
GrayWolf ha scritto:

ma non ho trovato un'opzione che mi permetta di "muovere" il file,
cioè di far sparire l'originale dopo averlo compresso [cosa che obbliga alla sua cancellazione manuale].
Top
Profilo Invia messaggio privato
ioSOLOio
Amministratore
Amministratore


Registrato: 12/09/03 19:01
Messaggi: 16342
Residenza: in un sacco di...acqua

MessaggioInviato: 27 Set 2008 13:16    Oggetto: Rispondi citando

francescodue ha scritto:
Normalmente non viene usata, ma per sicurezza invierò comunicazione di non accedere finché non ho concluso, oppure farò l'operazione durante la pausa o la notte.
Finché non trovo il modo di procedere non ho pensato a questo particolare.
Anche perché, trattandosi di file IGES, verrebbero cercati solo dagli impiegati tecnici, e spero di potermi fidare.

no, non fidarti....
Quando l'impiegato, il laureato, l'ingegnere o quello che ti pare è prima di tutto un utente, non ti fidare.
Fidati Wink

Se il Pc in questione resta acceso anche fuori orario di lavoro e la notte, meglio impostare una operazione pianificata in quelle ore.
Top
Profilo Invia messaggio privato
chemicalbit
Dio maturo
Dio maturo


Registrato: 01/04/05 18:59
Messaggi: 18597
Residenza: Milano

MessaggioInviato: 28 Set 2008 00:03    Oggetto: Rispondi citando

francescodue ha scritto:
Puoi farmi un esempio del comando FOR di cui parli?
Ad es. se hai dei file .bmp in c:\windows

e hai una cartella c:\prova

apri il prompt dei comandi e scrivi i seguenti comandi (alla fine di ogni riga, quindi di ognicomando, dai invio)
Codice:
cd c:\windows
for %f in (*.bmp) do copy %f c:\prova


Alla varibile %f verrà assegnanto il nome di un file, che rientri in *.bmp , e comando copy %f c:\prova verrà eseguito sostituendo a %f tale nome di file. Poi verrà assegnato un altro nome di file e così via.

Nota: se lo usi in un file batch devi usare due % , quindi %%f.
(mai capito il perché questa differenza....)

Ad es. se crei un file prova.bat così
Codice:
@echo off
md c:\prova
cd c:\windows
for %%f in (*.bmp) do copy %%f c:\prova


Vedo ora (andando al prompt dei coamndi e scrivendo for /? ) che ha anche tante opzioni (che io non conosco - io conosco il for del dos 5 e dos 6 - ) ad es. per gestire la ricorsione nelle subdirecotry.
Top
Profilo Invia messaggio privato
francescodue
Dio minore
Dio minore


Registrato: 26/09/08 11:00
Messaggi: 565

MessaggioInviato: 29 Set 2008 09:04    Oggetto: Rispondi citando

Grazie a tutti per i consigli e suggerimenti.
A chemicalbit = ho rovato ad utilizzare il codice che mi hai mostrato, ma non riesco a farlo funzionare.
Il file bat devo metterlo nella cartella da cui voglio estrarre i dati?
E la cartella di destinazione la crea da solo?
Ho provato ad utilizzarlo, ma mi crea un solo file senza estensione nella stessa cartella.
Per quanto riguarda gli altri utenti, visto che il pc resta acceso anche fuori orario seguirò il tuo consiglio.
Però mi serve aiuto anche in questo: utilizzo una funzione pianificata per lanciare il bat o integro in questo il periodo di attivazione?
Top
Profilo Invia messaggio privato
chemicalbit
Dio maturo
Dio maturo


Registrato: 01/04/05 18:59
Messaggi: 18597
Residenza: Milano

MessaggioInviato: 29 Set 2008 09:36    Oggetto: Rispondi citando

francescodue ha scritto:
A chemicalbit = ho rovato ad utilizzare il codice che mi hai mostrato, ma non riesco a farlo funzionare.
Beh, era solo un esempio.

francescodue ha scritto:
Il file bat devo metterlo nella cartella da cui voglio estrarre i dati?
"Estrarre i dati", intendi copiare alcuni file dalla directory c:\windows (quello fa quell'esempio)?
No, non serve spostarsi prima nella directory perché col comando "cd" (change directory) si sposta da solo.

(Per lanciare il file bat la cosa più facile è spostarsi prima inmodo da essere nella directory che contiene quel file batch. Così per lanciarlo basterà scrivere il nome del file batch e premere invio.
Ah, devi essere nel disco c: -si potrebbe migliorare, l'esempio l'ho buttato lì, voleva essere solo un esempio del ciclo for (che usa il comando copy , che -spero si capisse- è il comando per copiare un file, in questo caso da una directory all'altra)

francescodue ha scritto:
E la cartella di destinazione la crea da solo?
L'esempio col file batch sì,
c'è una riga con uncomando md (make directory, crea directory)
(anzi, tenta di crearla anche se esiste già, e pertanto in tal darà un messaggio d'errore).

Mentre nell'esempio che avevo fatto prima, quello da riga di comando, non la crea.
(se ti serve crearla, visto che in quel caso stai dando tu in quel moemnto i comandi uno alla volta al prompt del comando, basta che dai l'apposito comando o la crei in altro modo)

francescodue ha scritto:
Ho provato ad utilizzarlo, ma mi crea un solo file senza estensione nella stessa cartella.
Think che ho sbagliato?

In che cartella te lo crea
e con che nome?




francescodue ha scritto:
Per quanto riguarda gli altri utenti, visto che il pc resta acceso anche fuori orario seguirò il tuo consiglio.
Penso ti riferisca non a me ma a ioSOLOio ... Wink

francescodue ha scritto:
Però mi serve aiuto anche in questo: utilizzo una funzione pianificata per lanciare il bat o integro in questo il periodo di attivazione?
Funzione pianificata, intendi "Operazioni pianificate" di Windows? (tipo "esegui all'ora X"). Quello sì.

L'altra cosa non l'ho capita.
Top
Profilo Invia messaggio privato
francescodue
Dio minore
Dio minore


Registrato: 26/09/08 11:00
Messaggi: 565

MessaggioInviato: 29 Set 2008 10:58    Oggetto: Rispondi citando

Rieccomi di nuovo.
Non sono molto pratico di post, quindi spero non vi arrabbierete se ogni tanto sbaglio qualche riferimento a chi mi aiuta.
Posto il file bat che ho creato sull'esempio di chemicalbit così vedete se ho sbagliato qualcosa.

@echo off
md c:\prova2
cd c:\prova1
for %%f in (*.igs) do copy %%f c:\prova2

Nella cartella prova1 ho messo due file e il risultato è che mi crea un file, uno a caso con il nome giusto, senza estensione ma nella cartella c:\.
Comunque il mio problema è piuttosto quello di selezionare i file e comprimerli nella stessa cartella.
Per cancellarli posso eventualmente fare una ricerca per tipo ed eliminarli da lì in un secondo tempo.
Ho fatto qualche altra prova da riga di comando con 7zip, ma non riesco a lanciarlo da cartelle diverse.
Potete aiutarmi?
Grazie.
Top
Profilo Invia messaggio privato
chemicalbit
Dio maturo
Dio maturo


Registrato: 01/04/05 18:59
Messaggi: 18597
Residenza: Milano

MessaggioInviato: 29 Set 2008 11:40    Oggetto: Rispondi citando

francescodue ha scritto:
quindi spero non vi arrabbierete se ogni tanto sbaglio qualche riferimento a chi mi aiuta.
Nessun problema. Lo precisavo solo per essere io sicuro di aver capito giusto.

francescodue ha scritto:
Posto il file bat che ho creato sull'esempio di chemicalbit così vedete se ho sbagliato qualcosa.

@echo off
md c:\prova2
cd c:\prova1
for %%f in (*.igs) do copy %%f c:\prova2


Per farlo più sicuro e più completo aggiungi un comando c: prima del comando cd (in questo modo se è su un altro disco, si sposta sul disco c: )

Quindi


Codice:
@echo off
md c:\prova2
c:
cd c:\prova1
for %%f in (*.igs) do copy %%f c:\prova2



francescodue ha scritto:
Nella cartella prova1 ho messo due file
due file entrambi con estensione .igs ?

Prova a metterci 4 file , 2 con estensione .igs e 2 diversi (es. 1 .txt e 1 .jpg)



francescodue ha scritto:
e il risultato è che mi crea un file, uno a caso con il nome giusto, senza estensione ma nella cartella c:\.
Oh bella! Surprised

La cartella c:\prova2 esiste? Ed è vuota?

il contenuto del file senza estensione è uguale a quello del file copiato (con lo stesso nome) ?

francescodue ha scritto:
Comunque il mio problema è piuttosto quello di selezionare i file e comprimerli nella stessa cartella.
Il comando for dovrebbe fare proprio questa selezione,
non capisco perché non vada ... .-k

francescodue ha scritto:
Ho fatto qualche altra prova da riga di comando con 7zip, ma non riesco a lanciarlo da cartelle diverse.
Scusa, non ho capito.
Top
Profilo Invia messaggio privato
francescodue
Dio minore
Dio minore


Registrato: 26/09/08 11:00
Messaggi: 565

MessaggioInviato: 29 Set 2008 13:21    Oggetto: Rispondi

Ho corretto il bat come mi avete indicato.
Adesso funziona: cioè crea la cartella prova2 e ci copia i due file IGS correttamente.
Per quanto riguarda 7zip ho fatto ulteriori ricerche.
Aggiungendo nelle variabili d'ambiente di sistema il percorso si attiva da tutte le cartelle.
Però il risultato non è ancora sufficiente:
al momento devo digitare da riga di comando la stringa

7z a nomefile.7z nomefile.igs

Non riesco a trovare il modo per fargli usare il nomefile.igs come nome del file compresso. Anche perché in questo modo devo scrivere stringhe per tutti i file e spostarmi in tutte le cartelle.
Ho letto da qualche parte di creare una lista di file e usarla come sorgente, ma non saprei come utilizzarla.
Qualche idea?
Grazie.
Top
Profilo Invia messaggio privato
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> Software - generale Tutti i fusi orari sono GMT + 2 ore
Vai a 1, 2, 3  Successivo
Pagina 1 di 3

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi