|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Sep 2002
Messaggi: 31
|
copy DOS
Ciao a tutti,
ho la necessita di eseguire un batch sotto DOS che copi o rinomini un file inserendo l'ora dell'operazione nel nome del file. Ho provato in diversi modi ma non ci sono riuscito. Riuscite a darmi qualche dritta. Grazie. Memphis
__________________
It can't rain all the time... |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Mar 2002
Città: Italy/Usa
Messaggi: 2817
|
andando di memoria dovrebbe essere qualcosa tipo:
Codice:
ECHO. |TIME > TIME COPY LOG +TIME rem qui inserisci l'altra parte di codice per la copia ad esempio: copy c:\documenti\*.txt \personale\testi
__________________
"Utilizzando atomi pentavalenti drogheremo il silicio di tipo n; Utilizzando atomi trivalenti drogheremo il silicio di tipo p; Utilizzando della cannabis ci drogheremo noi e vedremo il silicio fare cose impossibili" - DSDT-HowTo |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Sep 2002
Messaggi: 31
|
Scusa ma a me serve che il file una volta copiato abbia come nome il nome originale piu' la data dell'operazione.
Es. file originale: pippo.txt f fiel rinominato : pippo29122003.txt Questo mi serve per evitare che il file originale mi venga sovrascritto da quello del giorno dopo che si chiama sempre nello stesso modo.
__________________
It can't rain all the time... |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Dec 2001
Messaggi: 1385
|
con la data non è semplice xchè il comando che ti restituisce la data di sistema cioè "date /T" restituisce la data nel formato gg/mm/aaaa e questo tu non potrai accodarlo al nome del file xchè contiene i caratteri "/" non permessi per nominare un file... non so se si possa cambiare il formato data...
__________________
lui è il mio amore: "tesò domani ti regalo un guinzaglio lungo 100 km"
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Dec 2001
Messaggi: 1385
|
ma il formato della data di sistema si può anche cambiare e scegliere come separatore ad esempio il "." dalle opzioni internazionali del pannello di controlloin questo caso il comando dos di cui hai bisogno è: Quote:
__________________
lui è il mio amore: "tesò domani ti regalo un guinzaglio lungo 100 km"
|
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Se ti interessa ho fatto questo piccolo programmino per un mio amico che aveva il tuo stesso problema...
Se a qualcuno interessa posso anche postare il codice C... |
|
|
|
|
|
#7 |
|
Member
Iscritto dal: Sep 2002
Messaggi: 31
|
Grazie mille a monkey72. Funziona perfettamente.
Cionci puoi mandarmi il codice sorgente? Non sono un genio in C ma qualcosa mi ricordo dai tempi della scuola Grazie
__________________
It can't rain all the time... |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Codice:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
int main(int argc, char *argv[])
{
char *ext, *nuovo, *vecchio;
struct tm *newtime;
time_t clock;
if(argc != 2)
{
fprintf(stderr, "Nome del file mancante\n");
exit(2);
}
vecchio = (char *)malloc(sizeof(char)*strlen(argv[1]));
strcpy(vecchio, argv[1]);
strtok(argv[1], ".");
ext = strtok(NULL, ".");
nuovo = (char *)malloc(sizeof(char)*(strlen(argv[1])+((ext)?strlen(ext):0)+10));
time(&clock);
newtime = localtime(&clock);
sprintf(nuovo, "%s%d%02d%02d%s%s", argv[1],
newtime->tm_year+1900, newtime->tm_mon+1,
newtime->tm_mday, (ext)?".":"", (ext)?ext:"");
printf("%s->%s\n", vecchio, nuovo);
if(rename(vecchio, nuovo))
{
fprintf(stderr, "Impossibile rinominare il file\n");
exit(1);
}
else
printf("Il file '%s' e' stato rinominato come '%s'\n", vecchio, nuovo);
return 0;
}
nomeAAAAMMGG.ext Lo rinominai usando il formato AAAAMMGG perchè in questo modo ordinandoli epr nome del file si ha un ordine completo dei file... |
|
|
|
|
|
#9 |
|
Member
Iscritto dal: Sep 2002
Messaggi: 31
|
Grazie Cionci.
Ora inserisco la chimata all'exe nella procedura di connnessione ftp, scarico e ridenominazione del file cosi' faccio un bel giro completo.
__________________
It can't rain all the time... |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:04.











ma il formato della data di sistema si può anche cambiare e scegliere come separatore ad esempio il "." dalle opzioni internazionali del pannello di controllo








