PDA

View Full Version : consiglio x un programma


cartman123
29-12-2006, 20:43
ciao a tutti!

ho un bisogno enorme del vostro aiuto, vi spiego il mio "problema":

lavoro ad una postazione informatica presso la mia università, dove svolgo in continuazione svariati conti sui cui risultati poi devo necessariamente lavorare a casa; tali risultati vengono salvati in files di testo di tipo .log e, ogni mattina, gli unici modi che ho per trasportare questi files sul pc di casa sono o inviarli via mail oppure salvarli su una chiavetta usb.

La domanda che volevo porvi è questa: è possibile creare un programmino in linguaggio C, C++ o altro che invii da solo al mio indirizzo di posta i files di log più recenti (oppure che invii TUTTI i files nella cartella in cui vengono salvati e poi li elimini automaticamente) non appena accendo il pc presso cui lavoro? magari tramite ftp o altre istruzioni...

Vi sembrerà cosa da poco ma vi assicuro che i files sono davvero tanti! Mi sarebbe molto d'aiuto :rolleyes:

Spero di avervi spiegato al meglio il quesito, e spero soprattutto che sappiate aiutarmi. Nel frattempo vi ringrazio e mi scuso se mi sono dilungato.

Ciao! ;)

franksisca
29-12-2006, 20:51
di sicuro un modo c'è, mi sembra che tempo fà qualcuno rispose che si poteva fare addirittura tramite un fil .bat, ma sinceramente adesso non saprei come.


se trovo qualcosa ti faccio sapere.

feboss
30-12-2006, 00:48
Allora
1)crei un file bat con all'interno questa istruzione:
ftp -i -s:transfer.txt

2)Nella stessa directory crei un file "transfer.txt" con i comandi che devi impartire ad un ftp. Ad esempio:

user anonymous piola@piw.it
cd pub
cd win9x
cd zip
get wrar.exe
quit
Oppure:

ftp
open server
nick
password
put c:\script\miofile.log
quit


ECCo questa è la procedura per uppare in automatico, non appena si lancia il file bat uppa un file all'interno di un ftp...
Se i file da uppare sono piu di uno basta usare l'utility Rar.exe(quello di winrar)
cioè, mettere il file rar.exe all'interno della cartella e prima di lanciare il file transfer.txt mettere una riga in cui diciamo di zippare tutti i file all'interno della cartella.Quindi:
rar a log.rar *.*
e quando uppiamo:
send log.rar

cartman123
30-12-2006, 10:36
grazie mille per le risposte!
un paio di domande visto che non sono una cima in questo campo:

le istruzioni sono per inviare i files ad un server ftp, che quindi immagino di dover in un qualche modo creare, giusto? Non ci sono istruzioni per far sì che anzichè ad un server ftp i files vengano inviati ad un indirizzo e-mail?

Il file bat e transfer (e nel mio caso anche l'utility rar.exe) devono essere tutti nella stessa cartella? Se sì in quale in modo tale che vengano eseguiti all'accensione del pc?

Il comando "rar a log.rar *.* " deve essere inserito, presumo, nel bat; i files di log si trovano in un'altra cartella... l'indirizzo della cartella lo metto così? "rar a C:\indirizzo\cartella-log\log.rar " poi il pacchetto me lo crea nella stessa directory? Inoltre, il comando "send" va inserito nel file transfer al posto di "put" oppure dopo il comando "rar a log.rar"?

Ultima domanda: sempre l'utility rar.exe mi impacchetta tutti i files lasciandomi una copia "fuori" oppure li sposta nel pacchetto (ipotesi desiderata)?

scusate la raffica di domande ma almeno vi ho esposto tutti i dubbi che ho... grazie per la pazienza :D

feboss
30-12-2006, 12:58
e istruzioni sono per inviare i files ad un server ftp, che quindi immagino di dover in un qualche modo creare, giusto? Non ci sono istruzioni per far sì che anzichè ad un server ftp i files vengano inviati ad un indirizzo e-mail?
si ma è facilissimo creare un server ftp.Prendi altervista, oppure il tuo provider.se hai alice devi avere uno spazio ftp, e anche con gli altri operatori.
Per inviarli ad un indirizzo e-mail si potrebbe pure fare, ma non saprei come allegare il file, la cosa migliore è l'up in un ftp.
Il file bat e transfer (e nel mio caso anche l'utility rar.exe) devono essere tutti nella stessa cartella? Se sì in quale in modo tale che vengano eseguiti all'accensione del pc?
Devono stare nella stessa cartella dove ci stanno i log.Per comodità.Se no devi modificare i file bat e mettere anche il percorso dove si trovano i file.
Per farlo partire all'accensione del pc ci sono vari modi.Esecuzione automatica di windows ad esempio.Oppure ti scarichi STARTUP CPL (http://www.mlin.net/files/StartupCPL_EXE.zip) e crei una nuova voce con il programma da fare partire(il .bat)
l comando "rar a log.rar *.* " deve essere inserito, presumo, nel bat; i files di log si trovano in un'altra cartella... l'indirizzo della cartella lo metto così? "rar a C:\indirizzo\cartella-log\log.rar " poi il pacchetto me lo crea nella stessa directory? Inoltre, il comando "send" va inserito nel file transfer al posto di "put" oppure dopo il comando "rar a log.rar"?
si esatto devi inserirlo nel bat prima di fare partire l'ftp.potresti fare cosi
rar a C:\IndirizzoDoveSalvareArchivio\log.rar C:\IndirizzoDoveSonoContenutiILOG\*.log
Put e Send fanno la stessa identica cosa
Quindi ricapitolando:
Nel file bat devono starci due istruzioni:
1)per il rar
2)per far partire l'ftp con il tranfer.txt
Mentre nel file transfer.txt ci stanno le istruzioni che si devono impartire all'ftp
Naturalmente tutto questo lo provi a casa e quando sei sicuro che funzioni lo fai li a scuola.
I due listati del transfer.txt sono diversi al momento del login
Uno utilizza user blablabla e l'altro invece scrive i dati direttamente.Devi provare quello che funziona, perchè cambia da server a server.
L'unico comando che non centra nei listati di prima è WGET che serve a prelevare un file.
Ultima domanda: sempre l'utility rar.exe mi impacchetta tutti i files lasciandomi una copia "fuori" oppure li sposta nel pacchetto (ipotesi desiderata)?
Lascia una copia dentro l'archivio, non li sposta.
Ma si possono anche spostare.
O utilizzi la funzione apposita di rar(te la devi cercare qui in mezzo)
Sintassi: RAR <comando> -<opzione_1> -<opzione_N> <archivio> <file...>
<@lista_file...> <percorso_dove_estrarre\>

<Comandi>
a Aggiungi file all'archivio
c Aggiungi il commento all'archivio
cf Aggiungi i commenti ai file
ch Modifica alcune caratteristiche dell'archivio
cw Scrivi il commento dell'archivio in un file
d Elimina file dall'archivio
e Estrai tutti i file dell'archivio nella cartella corrente
f Aggiorna i file dell'archivio
i[par]=<fras> Trova una frase in uno o più archivi
k Blocca l'archivio da modifiche seguenti
l[t,b] Lista contenuto dell'archivio [formato: T=tecnico, B=solo nome]
m[f] Muovi file e/o cartelle nell'archivio [solo i file]
p Stampa il/i file (verso stdout, solitamente la stampante)
r Ripara l'archivio da eventuali danneggiamenti
rc Ricostruisci i volumi mancanti
rn Rinomina i file presenti nell'archivio
rr[N] Aggiungi i dati per facilitare un eventuale recupero seguente
rv[N] Crea i volumi di ripristino
s[nome|-] Converti l'archivio in auto-estraente
t Verifica i file archiviati
u Aggiorna e aggiungi file all'archivio
v[t,b] Lista contenuto dell'archivio estesa [T=tecnico, B=solo nome]
x Estrai i file dell'archivio comprendenti il percorso archiv.

<Opzioni>
- Interrompi la scansione delle opzioni
ac Cancella l'attributo "Modificato" dopo compressione o estraz.
ad Appende il nome dell'archivio al percorso di destinazione
ag[formato] Genera il nome dell'archivio utilizzando la data corrente
ao Aggiungi solo i file con l'attributo "Modificato" attivo
ap<percorso> Imposta il percorso all'interno dell'archivio
as Sincronizza il contenuto dell'archivio con l'origine
av Inserisce i dati per la verifica dell'autenticazione (regist.)
av- Disabilita il controllo dei dati di autenticazione
c- Disabilita la visualizzazione del commento
cfg- Disabilita la lettura della configurazione predefinita
cl Converti i nomi di file e cartelle in minuscolo
cu Converti i nomi di file e cartelle in maiuscolo
df Elimina i file dopo essere stati archiviati
dh Apre i file già in uso da altri programmi
ds Non ordina i file da inserire in un archivio solido
e[+]<attrib> Non archiviare/archiviare file con uno specifico attributo
ed Non aggiungere le cartelle se sono vuote
en Non aggiunge l'indicazione di 'fine archivio'
ep Escludi i percorsi originali dai nomi dei file e cartelle
ep1 Escludi la cartella base dai nomi dei file e cartelle
ep2 Archivia il percorso completo
ep3 Archivia il percorso, completo della lettera del disco
f Aggiorna i file dell'archivio
fcu[file] Leggi il commento dell'archivio da un file in formato Unicode
hp[par.chiav] Crittografa sia i dati che l'intestazione dell'archivio
id[c,d,p,q] Disabilita la visualizzazione di alcuni o tutti (q) i messaggi
ieml[i1[,i2]] Invia l'archivio via email ad uno o più indirizzi
ierr Invia i messaggi al dispositivo "StdErr"
ilog[nome] Tieni traccia degli errori in un file (solo vers. registrata)
inul Disabilita la visualizzazione di tutti i messaggi
ioff Spegne il PC al termine dell'operazione che va ad iniziare
isnd Abilita i suoni
k Blocca l'archivio da modifiche seguenti
kb Estrai anche i file danneggiati
m<0..5> Livello di compressione (0-memorizza...3-predefin...5-massimo)
mc<par> Abilita i parametri di compressione avanzati
md<dimens.> Dimens. dizionario compres.:64,128,256,512,1024,2048,4096 o A-G
ms[est;est] Specifica le estensioni dei file da inserire senza compressione
mt<processi> Imposta il numero dei processi (threads)
n<file> Include solo i file specificati
n@ Acquisisci i file da includere da tastiera (o StdIn)
n@<lista> Includi i file specificati in una lista a file
o+ Sovrascrivi i file esistenti
o- Non sovrascrivere i file esistenti
oc Imposta l'attributo 'Compresso' di NTFS, se presente
or Rinomina i file estratti automaticamente
os Salva gli attributi estesi di un file sotto NTFS
ow Salva/ripristina i dati di "proprietario" e di "gruppo"
p[par.chiave] Imposta la parola chiave
p- Non chiedere la parola chiave
r Considera anche le sottocartelle
r0 Considera le sottocartelle solo per nomi con caratteri jolly
ri<P>[:<S>] Priorità esec.(0-predef.,1-min..15-mas) e tempo d'attesa (msec)
rr[N] Aggiungi i dati per facilitare un eventuale recupero seguente
rv[N] Crea i volumi di ripristino
s[<N>,v[-],e] Crea archivio in formato solido(N file,di/indipendenti,estens.)
s- Disabilita l'archiviazione in formato solido
sfx[nome] Crea un archivio auto-estraente [nome modulo]
si[nome] Preleva i dati d'archiviare da 'stdin',eventualmente in [nome]
sl<dimens.> Processa i file con dimensione minore a quella indicata
sm<dimens.> Processa i file con dimensione maggiore a quella indicata
t Verifica i file dopo l'archiviazione
ta<data> Considera file modificati dopo la <data>,formato AAAAMMGGOOMMSS
tb<data> Considera file modificati prima di <data>,form. AAAAMMGGOOMMSS
tk Tieni come orario quello dell'archivio originale
tl Orario dell'archivio come quell'ultimo file
tn<tempo> Considera i file più recenti del <tempo> specificato
to<tempo> Considera i file più vecchi del <tempo> specificato
ts<m,c,a>[N] Salva/ripristina orari file:Modifica,Creazione,Accesso[precis.]
u Aggiorna e aggiungi file dell'archivio
v Crea un archivio a più volumi autodeterminando la dimensione
v<dimen>[k,b] Crea un archivio a più volumi con dimensione= *1000 [*1024, *1]
vd Cancella il contenuto del disco prima di creare il volume
ver[n] Controllo per la versione dei file
vn Usa il vecchio schema dei nomi per i volumi
vp Introduce una pausa prima di ogni volume seguente
w<percorso> Definisci la cartella di lavoro per i file temporanei
x<file> Escludi i file di seguito specificati
x@ Acquisisci i file da escludere da tastiera (o StdIn)
x@<lista> Escludi i file specificati in una lista a file
y Assumi la risposta 'Si' a tutte le domande
z[<file>] Legge il commento dell'archivio da file
Oppure nel file bat DOPO aver eseguito il comando RAR...
Fai un del *.log

cartman123
30-12-2006, 14:01
Ok grazie mille davvero!!
cercherò al più presto di eseguire il tutto, poi vi faccio sapere se funziona o se ho altri dubbi :D

grazie ancora

marco.r
30-12-2006, 17:34
potresti semplicemente usare un tool per spedire e-mail da linea di comando... dipende dal sistema operativo che usi.
Per windows il primo che ho trovato con google e' il seguente:
http://www.beyondlogic.org/solutions/cmdlinemail/cmdlinemail.htm

cartman123
30-12-2006, 17:39
eccomi...
dunque il file batch l'ho creato e, digitati manualmente, i comandi inseriti al suo interno rispondono perfettamente; nel senso che riesco a creare l'archivio con tutti i files, a inviarlo via ftp e a cancellare il tutto; ok.

Il problema sorge quando tento di farlo partire all'accensione del pc :muro:
il batch l'ho chiamato "arc.bat", e l'ho messo assieme agli altri 2 nella cartella "Esecuzione Automatica", solo che i comandi non li esegue...! :(

ho pensato che forse il problema possa essere il fatto che, all'avvio, il pc lancia il batch PRIMA di aver riconosciuto che la connessione è attiva... di conseguenza quindi non riesce ad inviare nulla! è possibile farglielo eseguire come ultima cosa?

tuttavia questa cosa non mi convince del tutto in quanto, se vado a guardare nella cartella dei miei files, vedo che non ha creato nemmeno l'archivio... quindi non si è bloccato al momento di eseguire i comandi relativi all'ftp :confused:

:help: :help: :help:

feboss
30-12-2006, 19:56
eccomi...
dunque il file batch l'ho creato e, digitati manualmente, i comandi inseriti al suo interno rispondono perfettamente; nel senso che riesco a creare l'archivio con tutti i files, a inviarlo via ftp e a cancellare il tutto; ok.

Il problema sorge quando tento di farlo partire all'accensione del pc :muro:
il batch l'ho chiamato "arc.bat", e l'ho messo assieme agli altri 2 nella cartella "Esecuzione Automatica", solo che i comandi non li esegue...! :(

ho pensato che forse il problema possa essere il fatto che, all'avvio, il pc lancia il batch PRIMA di aver riconosciuto che la connessione è attiva... di conseguenza quindi non riesce ad inviare nulla! è possibile farglielo eseguire come ultima cosa?

tuttavia questa cosa non mi convince del tutto in quanto, se vado a guardare nella cartella dei miei files, vedo che non ha creato nemmeno l'archivio... quindi non si è bloccato al momento di eseguire i comandi relativi all'ftp :confused:

:help: :help: :help:
eccomi di nuovo...
allora prima cosa, In esecuzione automatica dovresti mettere solamente il file bat.
Ora cosi a intuito credo che il problema sia nel bat...cioè non esegue in automatico i file bat.
Quindi la cosa migliore è trovare un compilatore che trasformi il bat in un file exe o .com
quindi scarica questo http://nlsn.free.fr/batch-down/Bat2Exe.ZIP
e digita da linea di comando
BAT2EXEC file.bat
poi il risultato(un file.com) lo metti o in esecuzione automatica o con quel programma che ti ho dato prima: STARTUP CPL

Poi un altra cosa che puoi fare è la seguente.
Tramite un programma che si chiama Startup Delayer ritardi l'avvio del file.com creato in precedenza.Cosi nel frattempo, il computer si connette in internet e cosi via.
Il link per scaricare il programma è il seguente Startup Delayer (http://www.r2.com.au/downloads/files/startdelay_v2.2b85.exe)

cartman123
04-01-2007, 11:28
Graziee!!
scusa tanto il ritardo con cui rispondo ma ora funziona alla perfezione! :cool:

troppo bello
grazie mille x l'aiuto, sei un grande ;)