PDA

View Full Version : realizzare un eseguibile che permetta di ricavare ora e rinominare cartelle


andre998
02-07-2007, 14:18
Salve mi presento mi chiamo Andrea.
Avrei bisogno di una mano per creare un eseguibile che mi permetta di svolgere le funzioni che ho scritto nel titolo.

L'eseguibile deve controllare l'ora da un qualunque server (altrimenti ultima soluzione sarebbe sfruttare l'orologio di sistema), e a una certa ora rinominare un paio di cartelle.

Di solito queste cose le faccio in ambiente linux con degli script, ora però avrei necessita di farle su win e non so cosa usare..

grazie a tutti

bettola
02-07-2007, 14:30
puoi usare il vb.net, o anche il vb6 se non vuoi installare il framework ma io ti consiglio vb.net. Ti viene fuori un programmino semplice, magari lo avvii e lo lasci nella taskbar

andbin
02-07-2007, 14:32
L'eseguibile deve controllare l'ora da un qualunque server (altrimenti ultima soluzione sarebbe sfruttare l'orologio di sistema), e a una certa ora rinominare un paio di cartelle.

Di solito queste cose le faccio in ambiente linux con degli script, ora però avrei necessita di farle su win e non so cosa usare..Qui le possibilità sono davvero molte.

Innanzitutto vuoi per forza ottenere un eseguibile o ti basta usare un linguaggio di scripting? Inoltre, ti sarebbe sufficiente usare lo strumento "operazioni pianificate" di Windows?

andre998
02-07-2007, 16:05
non posso usare le operazioni pianificate..inoltre deve essere il piu trasparente possibile..deve partire in contemporanea a un applicazione online usata da diversi utenti e appunto fare il lavoro di scambio cartelle in base all'orario..

ok provero vb.net..farlo in c++ invece sarebbe possibile?

andre998
02-07-2007, 17:07
Ho trovato SharpDevelop mi sembra buono che dite?

Il problema potreste indicarmi anche qualche funzione per la gestione di file e directory?sono un po in alto mare perche finora per queste cose ho usato linux dove quando avevo bisogno mi facevo uno script..ora non so bene come muovermi ma con una mano ce la dovrei fare dato che è molto semplice quello che voglio

andre998
03-07-2007, 13:14
nessuno che mi aiuta?

GlobuS
03-07-2007, 13:53
in .NET per le operazioni sulle dir dai un occhiata alle classi System.Io.DirectoryInfo o System.Io.Directory (System.IO.File o System.IO.FileInfo per i files)

mapomapo
03-07-2007, 14:08
forse sto per dire una baggianata enorme...ma non basterebbe farlo in C o C++ inserendo una serie di funzioni system("operazione"); ??
qualcosa che sfrutti la seguente logica:
hai una variabile boolean falsa..fai fare un controllo che cicla ogni tot di tempo...quando hai l'orario desiderato la variabile bool diventa vera e ti fa eseguire una serie di operazioni che possono essere la ricerca della path della cartella e il rinomina...

Vito

tomminno
03-07-2007, 15:32
Per acquisire l'ora con le API di Windows c'è GetLocalTime e per rinominare (spostare) le cartelle c'è MoveFile.

Se vuoi sincronizzarti con un server di riferimento devi aprire un socket sulla porta 37 aspettare la risposta:

time_t t;
if (recv(s, (char *)&t, 4, 0) != 4)
return;// Impossibile sincronizzarsi con il server
t = ntohl(t) - 2208988800;
struct tm * time_ = localtime(&t);

ma per quello che devi fare te mi sembra esagerato.