Precedente :: Successivo |
Autore |
Messaggio |
chemicalbit Dio maturo


Registrato: 01/04/05 18:59 Messaggi: 18597 Residenza: Milano
|
Inviato: 29 Set 2008 14:44 Oggetto: |
|
|
francescodue ha scritto: | Ho corretto il bat come mi avete indicato.
Adesso funziona: cioè crea la cartella prova2 e ci copia i due file IGS correttamente. | Cioè?
e' bastato aggiungere la riga "c:" ?
(Tu hai più di un disco, ed eri sull'altro disco?) |
|
Top |
|
 |
chemicalbit Dio maturo


Registrato: 01/04/05 18:59 Messaggi: 18597 Residenza: Milano
|
Inviato: 29 Set 2008 15:14 Oggetto: |
|
|
francescodue ha scritto: | Per quanto riguarda 7zip ho fatto ulteriori ricerche.
Aggiungendo nelle variabili d'ambiente di sistema il percorso si attiva da tutte le cartelle. | Sì, aggiungendolo alla varibile %PATH& (che è una lista di directory separate da ";" )
A parte quello -che forse è il metodo più semplice se usi tanto 7zip -,
basta lanciare il programma fornendo il percorso compelto.
ad es. se sei nella directory d:\pippo\dati\parte3 (nella finestra del promt dei comandi avrai un prompt d:\pippo\dati\parte3> )
puoi scrivere c:\programmi\directory_del_programma\7zip.exe esempio.txt
e ti comprimerà il file esempio.txt che sta nella cartella corrente ( d:\pippo\dati\parte3 )
Nota: l'esempio l'ho inventato, non conosco la sintassi di 7zip
EDIT: anzi leggendo il tuo di esempio, penso proprio che quella che ho indicato io è sbagliata.
Il mio esempio comunque serve solo a indicare che puoi lanciare un programma che sta in una directory da un'altra directory.
francescodue ha scritto: | 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. | Eh, quello è difficile,
1) il programma tenderà a far usare la sua estensione, per far sì che il file sia riconoscibile,
e che lo si possa parire facendoci doppio clik.
Ma forse puoi forzare di usare un nome a tua scelta, con l'estensione che vuoi.
2) Però tenere lo stesso nome penso proprio non si possa. Anche perché 7zip non può creare un file compresso di nome nomefile.igs , visto che è un nome che esiste già.
(anche se c'è un'opzione per cancellare il file dopo averlo compresso, lo farà apputno dopo).
Puoi ovviare così,
* lo comprimi come nomefile.7z
* cancelli in file nomefile.igs (oppure hai fatto in modo che 7zip lo cancellasse lui al termine della compressione)
* rinomini nomefile.7z in nomefile.igs . Ad es. rinomina tutti (occhio!!!) i file 7z presenti nella cartella corrente nel nome corrispondente ma con estensione .igs
Però non mi piace comnque, per il motivo 3
3) E quando poi andrai a scomprimerlo?
Non potrai scompriemerlo perché esisterà già un file (quello compresso) con quel nome.
Uhm , si potrebbe ovviare usando due directory diverse ,
però è più complesso se non si è pratici
e si rischia di fare confusione su quale sia il file compresso e quale no (avere due file con lo stesso nome ... significa rischiare sì confusione!)
Ma perché vuoi che il file compresso si chiami nomefile.igs ?!
francescodue ha scritto: | Anche perché in questo modo devo scrivere stringhe per tutti i file e spostarmi in tutte le cartelle. | (a parte che non hocapito il nesso col problema precedente)
Per eseguire il comando più volte, una per ciascun file puoi usare il comando "for" di cui parlavamo.
Per le directory (cartelle), quante sono?
Se sono non poche ma comunque non tante, col copia e incolla non dovrebbe essere un grosso problema ripetere il programma e cambiare la scritta che indica il nome della directory.
Oppure puoi lanciare un file batch passandogli un parametro (il nome delal directory), se t'interessa ti spiego come.
Oppore, come dicevo qualche messaggio fa (mi pare, ci sono stati vari messaggi, non ricordo con certezza) il comando for ha alcuni parametri (che conosco solo per sentito dire, perché introdotti dopo il DOS 5 e 6, quando io utilizzavo file batch per automatizzare praticamente tutto -non c'erano le icone su cui fare doppio click )
e mi pare una preveda proprio la ricorsione nelle directory.
Andrebbe però provato.
francescodue ha scritto: | Ho letto da qualche parte di creare una lista di file e usarla come sorgente, ma non saprei come utilizzarla. | Intendi una cosa specifica di 7zip (non di DOS/Windows)?
Può essere, ricordo che pkzip e arj (compressori dell'epoca del DOS) l'avevano.
Si tratta però di una lista di file da mettere tutti nello stesso archivio compresso,
tu invece vuoi che in ogni archivio ci vada un solo file. |
|
Top |
|
 |
francescodue Dio minore

Registrato: 26/09/08 11:00 Messaggi: 567
|
Inviato: 29 Set 2008 15:59 Oggetto: |
|
|
Eccomi di nuovo.
Forse non sono stato chiaro (un mio amico dice che sono chiarissimo a non farmi capire).
Io non voglio che il file compresso mantenga l'estensione .igs.
Il comando 7z a nomefile.zip nomefile.igs
crea appunto un file .7z del file .igs.
E fin qui tutto bene.
Il problema è che per ogni file devo digitare la stringa, cioè devo leggere i nomi dei file.igs.
Usando il path nelle variabili d'ambiente posso ripetere la stessa procedura in tutte le cartelle senza dover scrivere il path di 7zip.
Però non posso dirgli, o almeno non ci riesco, prendi il nome del primo file .igs e usalo come nomefile per creare un file .7z.
Che poi debba usare FOR è indubbio, perché altrimenti ripeterebbe all'infinito il primo passo, almeno finché non cancello il primo file .igs.
Il discorso della lista di file, ripeto che l'ho letto senza capirlo più di tanto, servirebbe come passaggio intermedio: da quello che ho capito bisogna creare una lista di file da cui estrarre riga per riga il nome da passare a 7z per la compressione.
Non so assolutamente se una cosa del genere è fattibile, serva allo scopo o complichi la vita per niente.
Per quanto riguarda il bat per copiare i file è bastato davvero aggiungere la stringa c:
ed ero sullo stesso disco.
Non chiedermi perché non ne ho idea.
Intanto grazie. |
|
Top |
|
 |
chemicalbit Dio maturo


Registrato: 01/04/05 18:59 Messaggi: 18597 Residenza: Milano
|
Inviato: 29 Set 2008 17:48 Oggetto: |
|
|
francescodue ha scritto: | Però non posso dirgli, o almeno non ci riesco, prendi il nome del primo file .igs e usalo come nomefile per creare un file .7z. | Il problema è "staccare" il nome del file vero e proprio (la parte prima dell'estensione) dall'estensione .igs ?
Sì, quello è un problema (ma ho in mente due ipotesi di modi in cui forse si può risolvere)
Cioè,
un attimo .... faccio un passo indietro che spiego cosa avviene nel ciclo for :
Codice: | for %%f in (*.igs) do 7z a nomefile.zip %%f |
1- il ciclo for guarda tutti i file .igs
2- assegna alla varibile (chiamiamola %%f ) il nome completo del primo file , quindi esempio1.igs e poi alla ripetizione successiva esempio2.igs e così via
3- a quel punto for esegue il comando , sostituendo a %%f il valore di quella varibile.
E a noi non va bene,
o meglio a noi non basta
perché dobbiamo far sì che il ciclo for lanci -a questa ripetizione- Codice: | 7z a esempio1.zip esempio1.igs | e a quella dopo Codice: | 7z a esempio2.zip esempio2.igs | e così via.
dobiamo cioè trovare un modo per cambiare ad ogni ripetizione nomefile.zip,
però nel ciclo for come lo conosco io (che ripeto, risale ad anni e anni fa, dos 5) la variabile può essere solo uguale al nome compelto del file "trovato" dal ciclo for , e il inguagigo batch non ha un modo -che io sappia, forse hanno introdotto qualcosa anche lì- di manipolare le stringhe (quindi estrarre esempio1 da esempio1.igs) .
Le due ipotesi di due metodi che mi sono venuti in mente che potrebbero esserci (e che dobbiamo verificare se effettivamente sono utilizzabili)
A) Non è che 7zip (o altro programma) ha anche una sintassi semplificata, nel caso si comprima un solo file?
Ad es. non è che si possa dare il comando Codice: | 7z a nomefile.igs | e lui capisce da solo che deve creare un file nomefile.zip
(o altra sintassi che pemetta di non specificare il nome del file di destinazione, quello compresso)
B) Sempre dall'occhiata veloce che avevo dato tempo fa alle "nuove" opzioni del comando for,
mi pare ci fosse qualcosa per manipolare le varibili, però nonavevo approfondito.
Prova ad prire il prompt dei comandi e scrivere e premere invio.
Ti verrà presentata una spiegazione delle opzioni del comando, schermata per schermata.
C'è nulla per ottenere il nome senza estensione?
Altrimenti ci sarebbe la possibilità
C) , cioè usare un vero e proprio lignuaggio di script, come javascript o visualbasic per manipolare le sctinghe dei nomi dei file.
---------------
p.s. questa discussione è interessante, perché tratta di come automatizzare alcune operazioni sui file.
Ma nel tuo caso specifico sicuro che sia la cosa migliore?
Se il tuoscopo è solo non avere file troppo grandi che complicherebbero il back-up, è necessario fare proprio file compressi singoli (e non ad es. uno per rurrii file .igs di una cartella; o altri metodi)
-è che non hoi dea di che dimensione abbia un file .igs (tra l'altro sono file di "CAD Overlay", o sono file "Initial Graphics Exchange Specification Format", o cosa ?) -
Hai detto che l'archivio è ancor ainuso -anche se non frequentemente-
ma solo in lettura o anche in scrittura (si modificanoi file esistenti o se ne aggiungono)?
p.s. come vedi "un mio amico dice che sono chiarissimo a non farmi capire", si applica bene anche a me  |
|
Top |
|
 |
GrayWolf Dio maturo


Registrato: 03/07/05 17:24 Messaggi: 2325 Residenza: ... come frontiera i confini del mondo...
|
Inviato: 29 Set 2008 20:26 Oggetto: |
|
|
Scusate il disagio, stiamo lavorando per voi...
Lo script che avevo promesso è quasi pronto [80% dello sviluppo]
se avete un attimo di pazienza appena completato e fatte delle prove concrete, lo posto e così vediamo se il problema si risolve.
I .bat o i .cmd con il ciclo for sono potenti ma farraginosi e difficili da personalizzare.
Comunque:
per arrivare a qualcosa di concreto, il ciclo for, dopo il "do", deve contenere il richiamo una seconda procedura che riceve il nome di file come parametro [%1] e che lo tratta singolarmente.
ah, dimenticavo... il richiamo alla procedura di secondo livello, deve essere effettuato con una call [altrimenti dopo il primo trattamento il ciclo si conclude] |
|
Top |
|
 |
francescodue Dio minore

Registrato: 26/09/08 11:00 Messaggi: 567
|
Inviato: 30 Set 2008 10:31 Oggetto: |
|
|
Rieccomi.
Ho letto solo stamattina i nuovi post.
Per chemicalbit
7zip prende il nome file in automatico solo da Windows, da riga di comando non ho trovato alcun comando semplificato che faccia questa operazione: cioè prende il nome del file senza estensione e lo usa per il file compresso.
L'aiuto del comando FOR mi dice un sacco di cose, ma devo studiarmelo per capire esattamente cosa fa e se lavora per le stringhe.
Scusami, ma sono abbastanza scarso per queste cose.
Riguardo al fatto di comprimere tutti i file in un solo archivio compresso, sarebbe una soluzione scomoda: i file IGES raggiungono facilmente i 10 o 20MB e vengono spediti a clienti e fornitori per controlli e produzione. E spesso ne vengono inviate più versioni (con il nome leggermente diverso per distinguerli). Dovendo ricontrollare cosa si è spedito, o magari spedire ad altri, è molto più semplice cercare nell'archivio piuttosto che fare il giro degli allegati. Anche perché spesso ogni file è associato ad altri documenti, magari foto o relazioni e torna utile individuare il file a colpo d'occhio.
Per chemicalbit e graywolf
Visto che di programmazione in visualbasic non so nulla, avevo optato per il batch solo perché qualche piccolo comando lo conosco.
Per me andrebbe bene anche usare altri sistemi (non sapevo che si potesse usare il javascript al di fuori di internet), ma in questo caso dovreste prendermi per mano e dirmi lettera per lettera cosa fare.
Per graywolf
Sono curioso di vedere cosa viene fuori.
Intanto grazie a tutti. |
|
Top |
|
 |
GrayWolf Dio maturo


Registrato: 03/07/05 17:24 Messaggi: 2325 Residenza: ... come frontiera i confini del mondo...
|
Inviato: 30 Set 2008 13:04 Oggetto: |
|
|
francescodue ha scritto: |
...
Per chemicalbit e graywolf
Visto che di programmazione in visualbasic non so nulla, avevo optato per il batch solo perché qualche piccolo comando lo conosco.
Per me andrebbe bene anche usare altri sistemi (non sapevo che si potesse usare il javascript al di fuori di internet), ma in questo caso dovreste prendermi per mano e dirmi lettera per lettera cosa fare.
Per graywolf
Sono curioso di vedere cosa viene fuori.
Intanto grazie a tutti. |
Prego 8)
Tranqui, ci sarà una spiegazione perfino "pallosa"
Per il funzionamento dello script e per poter fare quello che chiedi sarà necessario lo scarico di IZARCC e se aggrada, anche di IZARC
[quest'ultimo però non è quello usato dallo script, ma può essere una valida alternativa ad altri compressori]
P.S.
Lo script sarà in VBScript, ma niente vieterebbe di usare anche JavaScript [con i sistemi Windows (se non ricordo male da NT in poi, ma potrei sbagliarmi) sono stati introdotti gli interpreti di questi due linguaggi per il loro uso off-line] |
|
Top |
|
 |
GrayWolf Dio maturo


Registrato: 03/07/05 17:24 Messaggi: 2325 Residenza: ... come frontiera i confini del mondo...
|
Inviato: 01 Ott 2008 20:37 Oggetto: |
|
|
Finally... habemus scriptus
Codice: |
' VB Script Document
option explicit
'* *****************************************************************************
'* Scopo dello script: *
'* ************************************** *
'* * Comprimere i files di una cartella * *
'* * incluse o escluse le sottocartelle * *
'* ************************************** *
'* *
'* Note: *
'* *
'* 1^ Lo script presuppone l'uso di IZARCC.EXE *
'* programma gratuito per la compressione da linea comando *
'* scaricabile dal sito: http://www.izarc.org *
'* *
'* 2^ La realizzazione di questo script è stata possibile anche grazie *
'* agli esempi reperiti sul sito: http://www.jsware.net *
'* *
'* *****************************************************************************
'* =============================================================================
'* PERSONALIZZAZIONE
'* -----------------
'* ------------------------------------------------------------
'* cartella di ORIGINE dei files da comprimere
'* ------------------------------------------------------------
'*
'* indicare il percorso ove risiedono i falies da comprimere
'*
'* esempio: sPercorsoOrigine = "C:\miei Files\Da Comprimere"
sPercorsoOrigine = ""
'* ------------------------------------------------------------
'* ------------------------------------------------------------
'* cartella di DESTINAZIONE dei files compressi
'* ------------------------------------------------------------
'*
'* indicare il percorso di deposito dei files compressi
'*
'* esempio: sPercorsoDestinazione = "C:\miei_Files\Compressi"
sPercorsoDestinazione = ""
'* ------------------------------------------------------------
'* ------------------------------------------------------------
'* percorso del COMPRESSORE
'* ------------------------------------------------------------
'*
'* indicare il percorso nel quale è stato installato IZARCC
'*
'* esempio: sPercorsoCompressore = "C:\Programmi\IZarc\CommandLine"
sPercorsoCompressore = ""
'* ------------------------------------------------------------
'* ------------------------------------------------------------
'* FILTRO
'* ------------------------------------------------------------
'*
'* indicare il filtro da utilizzare per includere SOLO i files
'* con la stessa estensione
'*
'* esempi : sFiltro = "*.doc" saranno presi in considerazione
'* solo i files di word
'* sFiltro = "*.jpg" saranno presi in considerazione
'* solo i files di immagini
'* sFiltro = "*.*" saranno presi in considerazione
'* TUTTI i files presenti
sFiltro = "*.*"
'* ------------------------------------------------------------
'* ------------------------------------------------------------
'* INCLUSIONE delle sottocartelle
'* ------------------------------------------------------------
'*
'* indicare se nella compressione devono essere trattate
'* anche le sottocartelle della cartella comunicata come parametro
'*
'* esempio:
'* bIncludiSottocartelle = false '-->le sottocartelle NON saranno considerate
'* bIncludiSottocartelle = true '-->le sottocartelle SARANNO considerate
bIncludiSottocartelle = false
'* ------------------------------------------------------------
'* ------------------------------------------------------------
'* TRATTAMENTO ORIGINE
'* ------------------------------------------------------------
'*
'* indicare il tipo di trattamento dei files originali
'*
'* esempio:
'* bMoveFile = false '--> i files originali NON saranno cancellati
'* bMoveFile = true '--> i files originali SARANNO cancellati
bMoveFile = false
'* ------------------------------------------------------------
'* ------------------------------------------------------------
'* ESPOSIZIONE MESSAGGIO
'* per la CONFERMA dei parametri
'* e per l'AUTORIZZAZIONE all'esecuzione
'* ------------------------------------------------------------
'*
'* indicare se lo script si deve fermare esponendo il messaggio
'* con l'elenco dei parametri e chiedendo l'autorizzazione a
'* procedere con il lavoro
'*
'* esempio:
'* bChiediConfermaParametri = false '--> l'esecuzione si avverà immediatamente
'* bChiediConfermaParametri = true '--> dopo la rilevazine dei parametri, lo
'* script ne esporrà i valori e chiederà
'* l'autorizzazione all'esecuzione
bChiediConfermaParametri = true
'* ------------------------------------------------------------
'* ------------------------------------------------------------
'* ESPOSIZIONE LISTA dei files che SARANNO COMPRESSI
'* ------------------------------------------------------------
'*
'* indicare se lo script si deve fermare, richiamando notepad,
'* per fornire la possibilità di eliminare alcuni dei files
'* trovati ricercando nella cartella principale ed eventualmen-
'* te nelle sottocartelle.
'*
'* esempio:
'* bExpoLista = false '--> l'esecuzione avverrà SENZA il richiamo di notepad
'* bExpoLista = true '--> l'esecuzione avverrà CON il richiamo di notepad
bExpoLista = true
'* ------------------------------------------------------------
'* ------------------------------------------------------------
'* RAGGRUPPO di tutti i files NELLA CARTELLA di DESTINAZIONE
'* ------------------------------------------------------------
'*
'* indicare se lo script deve depositare i files compressi nel-
'* la cartella di destinazione oppure se deve lasciarli nella
'* cartelle di origine.
'*
'* esempio:
'* bRaggruppo = false '--> i files compressi saranno lasciati
'* NELLA CARTELLA DI ORIGINE
'* bRaggruppo = true '--> i files compressi saranno TRASFERITI
'* NELLA CARTELLA DI DESTINAZIONE
'*
'* ATTENZIONE: questo flag impostato a true
'* con bMoveFile=false [o con il parametro /M=0]
'* fa si che lo script
'* NON CONSIDERI LA CARTELLA DI DESTINAZIONE
bRaggruppo = false
'* ------------------------------------------------------------
'* =============================================================================
'* =========================================================
'* DICHIARAZIONE delle VARIABILI
'* =========================================================
dim objArgs
dim oFSO
dim oShell
dim oFolder
dim oSubFolders
dim oSubFolder
dim oFiles
dim oFile
dim sList
dim sTmp
dim sScriptName
dim sScriptPath
dim avList
dim avArgs
dim avTmp
dim i
dim a
dim Return
dim sInput
dim sMsg
dim lIco
dim sTit
'* ------------------------------------
dim sPercorsoOrigine
dim sPercorsoCompressore
dim sPercorsoDestinazione
dim sFiltro
dim bIncludiSottocartelle
dim bMoveFile
dim bChiediConfermaParametri
dim bExpoLista
dim bRaggruppo
'* ------------------------------------
'* =========================================================
'* fine DICHIARAZIONE delle VARIABILI
'* =========================================================
'* =========================================================
'* MAIN LINE
'* =========================================================
impoOggetti
rilevaParametri
impoParametri
ctrlPersonalizzazione
sList = ListaContenuti(sPercorsoOrigine)
expoLista
execCompressione
WScript.quit
'* =========================================================
'* fine MAIN LINE
'* =========================================================
'* =========================================================
'* SOTTOPROCEDURE E FUNZIONI
'* =========================================================
'* =========================================================
sub impoOggetti
Set objArgs = Wscript.Arguments
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oShell = WScript.CreateObject("WScript.Shell")
sScriptName = WScript.ScriptName
sScriptPath = left(WScript.ScriptFullName, _
instr(WScript.ScriptFullName,sScriptName)-1 _
)
end sub
'* =========================================================
sub rilevaParametri
if objargs.count > 0 then
for a = 0 to objargs.count -1
if a = 0 then
sTmp = objargs(a)
else
sTmp = sTmp & "|" & objargs(a)
end if
next
end if
avArgs = split(sTmp,"|")
end sub
'* =========================================================
sub impoParametri
for a = 0 to ubound(avArgs)
avTmp = split(avArgs(a),"=")
select case ucase(avTmp(0))
case "/I" 'input
sPercorsoOrigine = trim(avTmp(1))
case "/O" 'output
SPercorsoDestinazione = trim(avTmp(1))
case "/C" 'IZARCC
SPercorsoCompressore = trim(avTmp(1))
case "/F" 'filtro
SFiltro = trim(avTmp(1))
case "/S" 'sottocartelle
bIncludiSottocartelle = cbool(avTmp(1) * -1)
case "/M" 'move files'
bMoveFile = cbool(avTmp(1) * -1)
case "/A" 'autorizzazione
bChiediConfermaParametri = cbool(avTmp(1) * -1)
case "/L" 'Lista files
bExpoLista = cbool(avTmp(1) * -1)
case "/R" 'raggruppo in una cartella
bRaggruppo = cbool(avTmp(1) * -1)
end select
next
end sub
'* =========================================================
sub ctrlPersonalizzazione()
if len(trim(sPercorsoOrigine)) = 0 then
sMsg = "PERCORSO della CARTELLA" _
& string(2,vblf) _
& " che CONTIENE I FILES DA COMPRIMERE"
sPercorsoOrigine = Richiesta(sMsg)
end if
if not right(sPercorsoOrigine,1) = "\" then
sPercorsoOrigine = sPercorsoOrigine & "\"
end if
sPercorsoOrigine = replace(sPercorsoOrigine,"""","")
if len(trim(sPercorsoDestinazione)) = 0 then
sMsg = "PERCORSO della CARTELLA" _
& string(2,vblf) _
& "che CONTERRÀ I FILES COMPRESSI"
sPercorsoDestinazione = Richiesta(sMsg)
end if
if not right(sPercorsoDestinazione,1) = "\" then
sPercorsoDestinazione = sPercorsoDestinazione & "\"
end if
sPercorsoDestinazione = replace(sPercorsoDestinazione,"""","")
if len(trim(sPercorsoCompressore)) = 0 then
sMsg = "PERCORSO della CARTELLA " _
& string(2,vblf) _
& "che contiene IZARCC.EXE"
sPercorsoCompressore = Richiesta(sMsg)
end if
if not right(sPercorsoCompressore,1) = "\" then
sPercorsoCompressore = sPercorsoCompressore & "\"
end if
sPercorsoCompressore = replace(sPercorsoCompressore,"""","")
if len(trim(sFiltro)) = 0 then
sMsg = "FILTRO per la SELEZIONE dei FILES" _
& string(3,vblf) _
& "*.* = tutti i files"
sFiltro = Richiesta(sMsg)
end if
if not bIncludiSottocartelle = false _
and not bIncludiSottocartelle = true then
sMsg = "Immettere cosa fare per" _
& string(2,vblf) _
& "L'INCLUSIONE DELLE SOTTO CARTELLE" _
& string(3,vblf) _
& "0 = Le sottocartelle saranno ignorate" _
& string(2,vblf) _
& "1 = Le sottocartelle saranno incluse" _
& vblf
do
bIncludiSottocartelle = Richiesta(sMsg)
loop until bIncludiSottocartelle = "0" or bIncludiSottocartelle = "1"
bIncludiSottocartelle = cbool(bIncludiSottocartelle * -1)
end if
if not bMoveFile = false _
and not bMoveFile = true then
sMsg = "Immettere come" _
& string(2,vblf) _
& "TRATTARE IL FILE ORIGINE" _
& string(3,vblf) _
& "0 = Il file originale rimane" _
& string(2,vblf) _
& "1 = Il file originale sarà cancellato" _
& vblf
do
bMoveFile = Richiesta(sMsg)
loop until bMoveFile = "0" or bMoveFile = "1"
bMoveFile = cbool(bMoveFile * -1)
end if
if not bChiediConfermaParametri = false _
and not bChiediConfermaParametri = true then
sMsg = "Immettere se lo script deve" _
& string(2,vblf) _
& "ESPORRE I PARAMETRI " _
& string(2,vblf) _
& "ed essere AUTORIZZATO A PROSEGUIRE" _
& string(3,vblf) _
& "0 = lo script si esegue senza fermarsi" _
& string(2,vblf) _
& "1 = sarà esposto un messaggio per conferma" _
& vblf
do
bChiediConfermaParametri = Richiesta(sMsg)
loop until bChiediConfermaParametri = "0" or bChiediConfermaParametri = "1"
bChiediConfermaParametrib = cbool(bChiediConfermaParametri * -1)
end if
if not bExpoLista = false _
and not bExpoLista = true then
sMsg = "Immettere se lo script deve" _
& string(2,vblf) _
& "ESPORRE LA LISTA " _
& vblf _
& "dei files che saranno compressi" _
& string(2,vblf) _
& "e al rientro," _
& vblf _
& "essere AUTORIZZATO A PROSEGUIRE" _
& string(3,vblf) _
& "0 = lo script si esegue senza fermarsi" _
& string(2,vblf) _
& "1 = saranno esposti lista" _
& vblf _
& " e messaggio per conferma" _
& vblf
do
bExpoLista = Richiesta(sMsg)
loop until bExpoLista = "0" or bExpoLista = "1"
bExpoLista = cbool(bExpolista * -1)
end if
if not bRaggruppo = false _
and not bRaggruppo = true then
sMsg = "Immettere come lo script deve" _
& string(2,vblf) _
& "TRATTARE i files COMPRESSI" _
& string(3,vblf) _
& "0 = i files RIMANGONO nell'origine" _
& string(2,vblf) _
& "1 = i files sono TRASFERITI " _
& vblf _
& " nella destinazione" _
& vblf
do
bRaggruppo = Richiesta(sMsg)
loop until bRaggruppo = "0" or bRaggruppo = "1"
bRaggruppo = cbool(bRaggruppo * -1)
end if
'* richiesta conferma
if bChiediConfermaParametri then
sMsg = "PARAMETRI di ESECUZIONE" _
& string(3,vblf) _
& "Input : " & sPercorsoOrigine _
& string(2,vblf) _
& "Output : " & sPercorsoDestinazione _
& string(2,vblf) _
& "Files che corrispondono a : " & sFiltro _
& string(2,vblf) _
& "Compressore : " & sPercorsoCompressore _
& string(2,vblf) _
& "Inclusione sottocartelle : " & bIncludiSottoCartelle _
& string(2,vblf) _
& "Cancella file origine dopo la compressione : " & bMoveFile _
& string(2,vblf) _
& "Esposizione lista files da comprimere : " & bExpoLista _
& string(2,vblf) _
& "Files compressi trasferiti in destinazione : " & bRaggruppo _
& string(3,vblf) _
& "CONFERMA ESECUZIONE ?" _
& string(3,vblf) _
& "rispondendo 'No' lo script termina" _
& vblf
lIco = vbQuestion + vbYesNo
sTit = "Richiesta AUTORIZZAZIONE"
select case msgbox(sMsg,lIco,sTit)
case vbNo
WScript.quit
case vbYes
'* tutto OK
end select
end if
end sub
'* =========================================================
function ListaContenuti(sFolderspec)
dim sLista
dim sTmp
dim sCmd
dim sCmdName
sCmdName = "_" _
& creaNome(2) _
& ".cmd"
'* crea comando temporaneo
sCmd = "@echo off" _
& vbnewline
sCmd = sCmd _
& "dir " _
& """" _
& sFolderspec _
& sFiltro _
& """"
sCmd = sCmd _
& " /ad /aa /4 /ON /b /l"
if bIncludiSottoCartelle then
'* richiede l'esplorazione delle sottocartelle
sCmd = sCmd _
& " /s "
end if
sCmd = sCmd _
& ">" _
& """" _
& sScriptPath _
& "Elenco.txt" _
& """"
'* scrive comando temporaneo
replaceFile sScriptPath & sCmdName, sCmd
'* esegue
sTmp = """" _
& sScriptPath _
& sCmdName _
& """"
Return = oShell.Run(sTmp , 2, true)
'* rileva
sLista = readFile(sScriptPath & "Elenco.txt")
sTmp = replace(sTmp,"""","")
oFSO.DeleteFile sTmp, true
'* restituisce
ListaContenuti = sLista
end function
'* =========================================================
sub expoLista
Set oFile = oFSO.CreateTextFile("LstComp.txt", True)
oFile.Write sList
oFile.Close
Set oFile = Nothing
if bExpoLista then
'* richiama e attende
Return = oShell.Run("notepad " & "LstComp.txt", 1, true)
sMsg = "Posso CONTINUARE?" _
& string(3,vblf) _
& "rispondendo 'No' lo script termina" _
& string(2,vblf) _
& "Conferma"
lIco = vbQuestion + vbYesNo
sTit = "Richesta CONFERMA"
select case msgbox(sMsg,lIco,sTit)
case vbNo
Wscript.quit
case vbYes
end select
end if
end sub
'* =========================================================
sub execCompressione
dim sCmdC
dim sCmd
dim sCont
dim sPathFile
dim sFile
dim sPathTmp
dim sCmdName
dim avCont
dim f
sCmdName = "_" _
& creaNome(2) _
& ".cmd"
sCmdC = """" _
& sPercorsoCompressore _
& "IZARCC.exe" _
& """" _
& " "
if bMoveFile then
'* l'origine sarà cancellato
sCmdC = sCmdC _
& "-m "
end if
'* rileva lista
sCont = readFile(sScriptPath & "Elenco.txt")
avCont = split(sCont,vbnewline)
'* ciclo di esecuzione compressione
for f = 0 to ubound(avCont)
if len(trim(avCont(f))) > 0 then
'* enuclea il nome file
sFile = right(avCont(f), _
len(avCont(f)) _
-(instrrev(avCont(f),"\") _
) _
)
if bRaggruppo = false then
'* lo zip nella stessa cartella dell'origine
sPathFile = replace(avCont(f),sPercorsoDestinazione,"")
sPathTmp = replace(avCont(f),sPathFile,"")
end if
if bRaggruppo = true then
'* lo zip nella cartella di destinazione
sPathFile = sFile
sPathTmp = sPercorsoDestinazione
end if
sCmd = "@echo off" _
& vbnewline _
& sCmdC _
& """" _
& sPathTmp _
& sPathFile _
& ".zip" _
& """" _
& " " _
& """" _
& avCont(f) _
& """"
'* scrive comando temporaneo
replaceFile sScriptPath & sCmdName, sCmd
'* esegue
sTmp = """" _
& sScriptPath _
& sCmdName _
& """"
Return = oShell.Run(sTmp, 2, true)
sTmp = replace(sTmp,"""","")
oFSO.DeleteFile sTmp, true
end if
next
end sub
'* =========================================================
function Richiesta(sText)
sInput = ""
do
sInput = inputbox(sText,"RICHIESTA",sInput)
if len(trim(sInput)) = 0 then
select case msgbox("premuto annulla o risposta vuota " _
& vblf _
& "chiudere il programma?" _
,vbquestion+vbYesNo _
, "RICHIESTA" _
)
case vbYes
WScript.quit
case vbNo
'* ripete la richiesta
end select
end if
loop until len(trim(sInput)) > 0
Richiesta = sInput
end function
'* =========================================================
function readFile(sFilePath)
if oFSO.FileExists(sFilePath) = false then
ReadFile = ""
exit function
end If
set oFile = oFSO.OpenTextFile(sFilePath, 1)
ReadFile = oFile.ReadAll
set oFile = Nothing
end Function
'* =========================================================
sub replaceFile(sFilePath, sText)
dim Atr
'* controlla il percorso
if oFSO.GetParentFolderName(sFilePath) = "" then
exit sub
end if
'* impo attributi a 0 e cancella:
if oFSO.FileExists(sFilePath) then
set oFile = oFSO.GetFile(sFilePath)
Atr = oFile.Attributes
oFile.Attributes = 0
set oFile = nothing
oFSO.DeleteFile sFilePath, true
end if
set oFile = oFSO.CreateTextFile(sFilePath, true)
oFile.Write sText
oFile.Close
set oFile = nothing
set oFile = oFSO.GetFile(sFilePath)
oFile.Attributes = Atr
set oFile = nothing
end sub
'* =========================================================
function creaNome(iCifreA)
dim A
dim M
dim G
dim H
dim P
dim S
A = year(now)
if iCifreA = 2 then
A = right(year(now),2)
end if
M = Left("00",(2-len(month(now)))) & month(now)
G = Left("00",(2-len(day(now)))) & day(now)
H = Left("00",(2-len(hour(now)))) & hour(now)
P = Left("00",(2-len(minute(now)))) & minute(now)
S = Left("00",(2-len(second(now)))) & second(now)
creaNome = A & M & G & H & P & S
end function
'* =========================================================
'* fine SOTTOPROCEDURE E FUNZIONI
'* =========================================================
|
Manualetto d'uso
Citazione: |
Cos'è
Uno script in linguaggio VBScript
eseguibile su sistemi Windows da NT in poi.
Serve ad automatizzare le operazioni di compressione di files.
Cosa fa
Accetta parametri di personalizzazione per trattamenti diversificati.
Per ogni parametro non valorizzato ne effettua la richiesta.
S'interfaccia con IZARCC.exe per effettuare la compressione.
Comprime i files singolarmente.
Cosa [ancora] non fa
NON comprime i files in un unico zip
Negli zip prodotti, NON sono memorizzati i percorsi né assoluto né relativo
Come si personalizza [e possibili usi]
La personalizzazione può avvenire in quattro modi:
1° Predefinita
2° Parametrizzata
3° Mista
4° Neutra
Scenari possibili:
Comprimere e cancellare i files accumulatisi nella cartella_A,
trasferendoli nella cartella_B, dalla quale poi saranno trasfe-
riti in altra locazione.
Comprimere e cancellare i files accumulatisi nella cartella_A,
[ed eventuali sottocartelle], in modo che in tutta la struttura
delle cartelle rimangano solo i files compressi.
Salvare i files accumulatisi nella cartella_A [ed eventuali sottocartelle]
in modo che nella stessa cartella [e sottocartelle] siano presenti
originali e compressi.
Modalità Predefinita
Con il blocco note, modificare lo script nella parte che reca
l'intestazione "PERSONALIZZAZIONE", seguendo le indicazioni e
gli esempi per ciascuna variabile da impostare.
In questa modalità lo script può essere usato per la ripetizione
periodica dello stesso lavoro, cioè se non cambiano le cartelle
di origine e di destinazione nè alcun parametro di funzionamento.
Nota:
nulla vieta di produrre una copia dello script [con nome diverso]
in modalità predefinita, per ogni lavoro che deve essere eseguito.
Modalità Parametrizzata
Con il blocco note, impostare a "" TUTTI i valori descritti
nella parte che reca l'intestazione "PERSONALIZZAZIONE".
Associare i parametri di funzionamento al richiamo dello script.
Parametri:
/I=cartella_di_origine [carattere]
/O=cartella di destinazione [carattere]
/C=cartella di installazione di IZARCC.exe [carattere]
/F=filtro per tipo di file [carattere]
/S=inclusione sottocartelle [numero 0 o 1]
/M=cancellazione origine dopo la compressione [numero 0 o 1]
/A=emissione lista parametri prima di proseguire [numero 0 o 1]
/L=esposizione lista files prima di proseguire [numero 0 o 1]
/R=spostamento compressi nella destinazione [numero 0 o 1]
I parametri che si riferiscono a cartelle devono essere racchiusi tra doppie virgolette se i nomi contengono spazi
In questa modalità si ha una sola copia dello script, quello che
cambia saranno i parametri associati al richiamo dello script.
Nota:
I parametri possono essere espressi in qualsiasi ordine
esempio di richiamo:
"XXX.vbs" /I="f:\Mia Cartella\" /O="f:\mia Cartella\" /C=c:\Programmi\IZArc\CommandLine /F= *.* /S=1 /R=0 /L=1 /M=1
Comprime tutti i files presenti in f:\Mia Cartella e nelle sue sottocartelle
Cancella gli originali
Chiede conferma dei parametri
espone la lista dei files che saranno compressi
NON sposta i files nella cartella di destinazione
Modalità Mista
Con il blocco note, impostare i valori che non cambieranno mai
e utilizzare i rimanenti parametri [variabili di lavoro in lavoro]
legati al richiamo dello script.
Modalità Neutra
Con il blocco note, impostare a "" [due doppie virgolette consecutive]
TUTTI i valori descritti nella nella parte che reca l'intestazione "PERSONALIZZAZIONE".
Richiamare lo script SENZA ALCUN PARAMETRO associato al suo richiamo
e rispondere alle richieste per l'impostazione.
Come si richiama
attraverso un collegamento sul desktop o nel menu start
[se il lavoro deve essere eseguito tutte le volte che necessita]
oppure
con il richiamo del collegamento nelle operazioni pianificate
[se il lavoro deve essere svolto periodicamente]
Nota di particolare interesse:
I parametri associati al richiamo si "sovrappongono" a quelli predefiniti,
ma SOLO per la sessione di richiamo. |
Copiare la parte definita come codice e incollarla in notepad,
salvare in un file con estensione .vbs con il nome voluto, nella cartella voluta.
Effettuare la stessa operazione con il manualetto salvandolo in un file che userete come consultazione.
Al primo utilizzo consiglio di effettuare il lavoro su cartelle predisposte per le prove e non direttamente sulle cartelle effettive.
Lo script non cancella nulla [tranne che l'origine mossa nello zip] ma...
le precauzioni non sono mai troppe
Per domande, chiarificazioni e segnalazioni di malfunzionamenti:
cà sugno 8)
P.S.
Se decidete di lasciare i files compressi nelle stesse cartelle dei files originali,
NON è consigliabile eseguire per due volte consecutive lo script
senza prima aver trattato i files compressi, pena: il raddoppio dei files |
|
Top |
|
 |
francescodue Dio minore

Registrato: 26/09/08 11:00 Messaggi: 567
|
Inviato: 02 Ott 2008 09:54 Oggetto: |
|
|
Eccomi di nuovo.
Ringrazio infinitamente GrayWolf.
Però ho un problema.
Ho copiato il codice e inserito nel filtro *.igs però non comprime.
Il file VBS sembra funzionare: mi chiede percorso sorgente e percorso destinazione (ho provato a mettere lo stesso percorso e a metterne due diversi). Ho inserito il patch c:\programmi\izarc (per caso lo script è case sensitive?) mi mostra la lista dei file selezionati (corretta) ma non comprime.
Dal sito izarc ho scaricato sia l'ultima versione 3.81 sia la Command Line.
Sono io che sbaglio qualcosa? |
|
Top |
|
 |
GrayWolf Dio maturo


Registrato: 03/07/05 17:24 Messaggi: 2325 Residenza: ... come frontiera i confini del mondo...
|
Inviato: 02 Ott 2008 10:20 Oggetto: |
|
|
francescodue ha scritto: | Eccomi di nuovo.
Ringrazio infinitamente GrayWolf.
Però ho un problema.
Ho copiato il codice e inserito nel filtro *.igs però non comprime.
Il file VBS sembra funzionare: mi chiede percorso sorgente e percorso destinazione (ho provato a mettere lo stesso percorso e a metterne due diversi). Ho inserito il patch c:\programmi\izarc (per caso lo script è case sensitive?) mi mostra la lista dei file selezionati (corretta) ma non comprime.
Dal sito izarc ho scaricato sia l'ultima versione 3.81 sia la Command Line.
Sono io che sbaglio qualcosa? |
Probabilmente no.
[Tieni presente che lo script è alla sua prima versione e chi sviluppa dovrebbe essere l'ultimo a fare le prove "sul campo".]
1° lo script non à case sensitive, ma... izarcc.exe è installato nel percorso che hai dichiarato?
2° la lista riporta il percorso completo per ogni file listato?
3° crea una cartella apposita che contenga solo lo script
4° prova a lanciare lo script in modalità parametrizzata completa
e riporta qui la linea comando con tutti i parametri.
Per quanto riguarda il .3 tieni presente che lo script crea dei temporanei il cui nome è _AAAAMMGGPPSS.cmd, [annomesegiornooraprimisecondi] ora non vorrei che in qualche modo ci fosse una "sovrapposizione" [anche se non penso] |
|
Top |
|
 |
francescodue Dio minore

Registrato: 26/09/08 11:00 Messaggi: 567
|
Inviato: 02 Ott 2008 10:31 Oggetto: |
|
|
Aggiornamento.
Ho fatto alcuni test da riga di comando e izarc effettivamente funziona.
Ho provato anche da windows e funziona anche da lì.
L'unica anomali che ho trovato in windows è che per creare i file 7z impiega molto tempo e la barra di avanzamento resta immobile. Quindi non sai se sta lavorando o se si è piantato.
Potrebbe esserci un conflitto con 7zip?
A proposito: izarc da riga di comando può essere settato per creare 7z? Sulla guida non ho trovato opzioni in merito. |
|
Top |
|
 |
GrayWolf Dio maturo


Registrato: 03/07/05 17:24 Messaggi: 2325 Residenza: ... come frontiera i confini del mondo...
|
Inviato: 02 Ott 2008 10:41 Oggetto: |
|
|
francescodue ha scritto: | Aggiornamento.
Ho fatto alcuni test da riga di comando e izarc effettivamente funziona.
Ho provato anche da windows e funziona anche da lì.
L'unica anomali che ho trovato in windows è che per creare i file 7z impiega molto tempo e la barra di avanzamento resta immobile. Quindi non sai se sta lavorando o se si è piantato.
Potrebbe esserci un conflitto con 7zip?
A proposito: izarc da riga di comando può essere settato per creare 7z? Sulla guida non ho trovato opzioni in merito. |
7z?
No, izarc da linea comando crea .zip
Non credo esistano conflitti particolari, io li ho installati entrambi e non mi danno nessun problema;
altra cosa che non capisco è:
francescodue ha scritto: | 7z impiega molto tempo e la barra di avanzamento resta immobile. Quindi non sai se sta lavorando o se si è piantato.
|
ah, altra cosa... i due programmi richiamati tramite GUI [Grafical User Interface ] la loro interfaccia grafica, "vedono" ognuno i files creati dall'altro. |
|
Top |
|
 |
francescodue Dio minore

Registrato: 26/09/08 11:00 Messaggi: 567
|
Inviato: 02 Ott 2008 11:03 Oggetto: |
|
|
Scusami ma mi sono espresso male.
Intendo dire che lanciando Izarc da Windows e impostando come formato 7z resta per molto tempo con la barra di avanzamento immobile.
Il formato zip mi va benissimo.
Il problema, come dicevo, è che lo script non esegue la compressione.
Devo fare qualche personalizzazione o verificare qualcosa in particolare del sistema operativo? |
|
Top |
|
 |
GrayWolf Dio maturo


Registrato: 03/07/05 17:24 Messaggi: 2325 Residenza: ... come frontiera i confini del mondo...
|
Inviato: 02 Ott 2008 11:29 Oggetto: |
|
|
ti riporto il mio post precedente:
GrayWolf ha scritto: | francescodue ha scritto: |
Eccomi di nuovo.
Ringrazio infinitamente GrayWolf.
Però ho un problema.
Ho copiato il codice e inserito nel filtro *.igs però non comprime.
Il file VBS sembra funzionare: mi chiede percorso sorgente e percorso destinazione (ho provato a mettere lo stesso percorso e a metterne due diversi). Ho inserito il patch c:\programmi\izarc (per caso lo script è case sensitive?) mi mostra la lista dei file selezionati (corretta) ma non comprime.
Dal sito izarc ho scaricato sia l'ultima versione 3.81 sia la Command Line.
Sono io che sbaglio qualcosa? |
Probabilmente no.
[Tieni presente che lo script è alla sua prima versione e chi sviluppa dovrebbe essere l'ultimo a fare le prove "sul campo".]
1° lo script non à case sensitive, ma... izarcc.exe è installato nel percorso che hai dichiarato?
2° la lista riporta il percorso completo per ogni file listato?
3° crea una cartella apposita che contenga solo lo script
4° prova a lanciare lo script in modalità parametrizzata completa
e riporta qui la linea comando con tutti i parametri.
Per quanto riguarda il .3 tieni presente che lo script crea dei temporanei il cui nome è _AAAAMMGGPPSS.cmd, [annomesegiornooraprimisecondi] ora non vorrei che in qualche modo ci fosse una "sovrapposizione" [anche se non penso] |
Prova a seguire i passi elencati e vediamo che succede |
|
Top |
|
 |
francescodue Dio minore

Registrato: 26/09/08 11:00 Messaggi: 567
|
Inviato: 02 Ott 2008 12:34 Oggetto: |
|
|
Eccomi di nuovo.
Allora
1° Izarcc.exe è installato nella cartella dichiarata. Nelo script però fai riferimento a Commandlind, che io non trovo da nessuna parte.
2° lanciando il vbs da windows mi mette la sola lista dei file, mentre se digito l'intera stringa che mi hai indicato nel manualetto (escluso commandline) mi compaiono anche i percorsi completi. Per intenderci da riga di comando digito
vbs-zip-singoli.vbs /I="f:\Mia Cartella\" /O="f:\mia Cartella\" /C=c:\Programmi\IZArc /F= *.* /S=1 /R=0 /L=1 /M=1
3° ho provato sia mettendolo in una cartella distinta sia lasciandolo nella cartella di prova che usavo. L'unica che non ho provato è mettere lo script in C. Però, nella mi aignoranza, mi pare che il problema dipenda da izarc piuttosto che dallo script.
4° Che cosa intendi per modalità parametrizzata completa? E la linea di comando intendi quella che ho trovato nel manuale che mi hai fornito?
Per quanto riguarda i file temporanei, non ne vedo da nessuna parte: dovrebbe crearli nella stessa cartella dello script? Li compaiono due file, Elenco.txt e LstComp.txt, che contengono gli stessi dati. |
|
Top |
|
 |
GrayWolf Dio maturo


Registrato: 03/07/05 17:24 Messaggi: 2325 Residenza: ... come frontiera i confini del mondo...
|
Inviato: 02 Ott 2008 13:02 Oggetto: |
|
|
francescodue ha scritto: | Eccomi di nuovo.
Allora
1° Izarcc.exe è installato nella cartella dichiarata. Nelo script però fai riferimento a Commandlind, che io non trovo da nessuna parte. |
quello è un esempio, nel caso IZARCC.EXE sia stato installato in una cartella diversa da quella in cui è installato IZARC.EXE [nota la differenza]
francescodue ha scritto: | 2° lanciando il vbs da windows mi mette la sola lista dei file, mentre se digito l'intera stringa che mi hai indicato nel manualetto (escluso commandline) mi compaiono anche i percorsi completi. Per intenderci da riga di comando digito
vbs-zip-singoli.vbs /I="f:\Mia Cartella\" /O="f:\mia Cartella\" /C=c:\Programmi\IZArc /F= *.* /S=1 /R=0 /L=1 /M=1
|
ma i file sono sul disco f: o sono da qualche altra parte? devi modificare i parametri in modo tale che le cartelle siano le tue,
"f:\Mia Cartella" è un esempio tu lo devi sostituire con l'indirizzo della cartella effettiva [o con l'indirizzo della cartella di prova, nella quale hai copiato alcuni files per fare le prove dello script] e ancora: IZARCC.EXE è in c:\Programmi\IZARC ?
poi devi spiegarmi cosa significa: "Lanciando il vbs da Windows", intendi forse che utilizzi Start -> Esegui e digiti tutte le volte il comando?
francescodue ha scritto: | 3° ho provato sia mettendolo in una cartella distinta sia lasciandolo nella cartella di prova che usavo. L'unica che non ho provato è mettere lo script in C. Però, nella mi aignoranza, mi pare che il problema dipenda da izarc piuttosto che dallo script.
|
Infatti, lo script lo puoi mettere dove vuoi, ma devi dirgli dove è collocato IZARCC.EXE
francescodue ha scritto: | 4° Che cosa intendi per modalità parametrizzata completa? E la linea di comando intendi quella che ho trovato nel manuale che mi hai fornito?
|
Si, per completamente parametrizzata, intendo TUTTI i parametri in linea comando, ma assicurati che siano i valori che corrispondono al tuo sistema, quello del manualetto è solo un esempio
francescodue ha scritto: | Per quanto riguarda i file temporanei, non ne vedo da nessuna parte: dovrebbe crearli nella stessa cartella dello script? Li compaiono due file, Elenco.txt e LstComp.txt, che contengono gli stessi dati. |
E' giusto, quelli sono due files che hanno un significato di log,
Elenco.txt è la lista dei files che ti è presentata
LstComp.txt è la lista dei files che sono stati compressi
In caso di nessuna modifica della lista che ti appare in notepad a metà del lavoro, i due files hanno gli stessi contenuti, nel caso tu, con notepad, abbia modificato la lista [cioè che tu abbia cancellato alcune righe in Elenco.txt e poi che tu abbia salvato il file modificato], i due files sono differenti.
i files di comando [_AAAAMMGGHHPPSS.cmd] non li troverai mai perché lo script [proprio per evitare sovrapposizione e riempire la cartella con un incommensurabile numero di files inutili] dopo la loro esecuzione, li cancella. |
|
Top |
|
 |
francescodue Dio minore

Registrato: 26/09/08 11:00 Messaggi: 567
|
Inviato: 02 Ott 2008 13:21 Oggetto: |
|
|
Rieccomi.
1° Nella cartella c:\programmi\Izarc trovo sia izarc.exe che izarcc.exe. Può essere questo il problema?
2° La stringa esatta che ho usato è la seguente (sorry) da prompt dei comandi (DOS)
[b]vbs-zip-singoli.vbs /I="c:\prova\" /O="c:\prova\" /C=c:\Programmi\IZArc /F= *.igs /S=1 /R=0 /L=1 /M=1[/b]
Con questa mi compaioni i due file Elenco.txt e LstComp.txt con l'elenco dei file da usare completi di percorso (c:\prova\pippo.igs ecc.)
Se invece lancio il file vbs da esplora risorse mi fa la stessa cosa, ma i due file di testo (Elenco e LstComp) hanno solo la lista dei nomi senza percorso.
3° Ho fatto ulteriori prove ed effettivamente non cambia nulla.
4° Al punto due ti ho postato il comando che ho usato.
Quindi mi confermi che posso modificare la lista prima della compressione. Quindi volendo potrei aggiungere file diversi all'ultimo momento.
Ti chiedevo dei file temporanei perché pensavo che restassero attivi per tutto il tempo di esecuzione della compressione. |
|
Top |
|
 |
GrayWolf Dio maturo


Registrato: 03/07/05 17:24 Messaggi: 2325 Residenza: ... come frontiera i confini del mondo...
|
Inviato: 02 Ott 2008 13:36 Oggetto: |
|
|
francescodue ha scritto: | Rieccomi.
1° Nella cartella c:\programmi\Izarc trovo sia izarc.exe che izarcc.exe. Può essere questo il problema? |
assolutamente no, è corretto
francescodue ha scritto: | 2° La stringa esatta che ho usato è la seguente (sorry) da prompt dei comandi (DOS)
vbs-zip-singoli.vbs /I="c:\prova\" /O="c:\prova\" /C=c:\Programmi\IZArc /F= *.igs /S=1 /R=0 /L=1 /M=1
Con questa mi compaiono i due file Elenco.txt e LstComp.txt con l'elenco dei file da usare completi di percorso (c:\prova\pippo.igs ecc.)
|
corretto
francescodue ha scritto: | Se invece lancio il file vbs da esplora risorse mi fa la stessa cosa, ma i due file di testo (Elenco e LstComp) hanno solo la lista dei nomi senza percorso.
|
da esplora risorse devi lanciare un collegamento che contenga il percorso dello script e tutti i parametri
francescodue ha scritto: |
3° Ho fatto ulteriori prove ed effettivamente non cambia nulla.
4° Al punto due ti ho postato il comando che ho usato. |
questo è strano, l'unica cosa che mi viene in mente [ma è un'ipotesi altamente improbabile: internazionalmente lo zip arriva fino a 2GB] è la dimensione dei files da comprimere] farò una prova con files di grosse dimensioni [da 10 a 20 MB]
francescodue ha scritto: |
Quindi mi confermi che posso modificare la lista prima della compressione. Quindi volendo potrei aggiungere file diversi all'ultimo momento.
Ti chiedevo dei file temporanei perché pensavo che restassero attivi per tutto il tempo di esecuzione della compressione. |
.1 Elenco.txt è prodotto prima della compressione
.2 Ti appare in notepad perché tu lo possa modificare [non ho provato l'aggiunta di files ma se i percorsi e i nomi sono corretti non dovrebbe esserci nessun problema]
.3 Elenco.txt [modificato e salvato oppure lasciato tale e quale] è ripreso in carico dallo script per la compressione
.4 LstComp.txt è il risultato della compressione
.5 terminato lo script i due files sono "liberi"
Ho notato [ma forse è un errore di digitazione] che il parametro "/F= *.igs" contiene uno spazio dopo l'uguale prova a controllare [deve essere /F=*.igs]
nel caso lo spazio iniziale non sia filtrato dallo script è un mio errore. |
|
Top |
|
 |
francescodue Dio minore

Registrato: 26/09/08 11:00 Messaggi: 567
|
Inviato: 02 Ott 2008 15:06 Oggetto: |
|
|
Eccomi ancora.
Adesso funziona.
L'errore era mio: nella stringa del compressore avevo scritto c:\programmi\izarc\izarc invece di c:\programmi\izarc
E faccio in tempo a vedere anche il file temporaneo cmd prima che sparisca.
Adesso però ho due domande.
I file che vengono fuori hanno una doppia estensione (pippo.igs.zip): non che mi dia fastidio, anzi torna utile, ma mi chiedevo se potrebbe dare problemi in futuro. Mi spiego: nel caso dovessi ripetere l'operazione lo script prende l'ultima estensione (cioè .zip) e quindi salta il file oppure vede anche la prima (.igs) e ricomprime il file?
Seconda domanda: quando lancio lo script non ho indicazioni da nessuna parte di quando termina il lavoro. Sono troppo esigente oppure mi è sfuggito qualcosa?.
Per sicurezza farò qualche altro test e poi attacherò l'archivio.
In ogni caso:
GRAZIE MILLE GrayWolf.
E grazie a tutti quelli che mi hanno dato assistenza. |
|
Top |
|
 |
francescodue Dio minore

Registrato: 26/09/08 11:00 Messaggi: 567
|
Inviato: 02 Ott 2008 15:31 Oggetto: |
|
|
Rieccomi.
Lo script continua a funzionare.
Ho notato che se non ci sono file .igs (nel mio caso) nella cartella mi compare una finestra di errore. È utile.
E ho provato anche a rilanciare il vbs nella stessa cartella e vede solo i file nuovi, questo solo per scrupolo.
Altra cosa: mi permette di modificare la lista LstComp.txt ma poi processa solo quelli della lista originale che ha trovato, che infatti compare nel file Elenco.txt senza le modifiche. Poco male.
Altra cosa interessante è che vedo le finestre di prompt aprirsi e chiudersi in sequenza mentre processa i file. Per quelli piccoli è una cosa rapidissima mentre per quelli più pesanti resta aperta per più tempo. Se non altro finché è aperta so che sta lavorando.
Ancora grazie. |
|
Top |
|
 |
|
|
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
|
|