[MS-DOS] script de conversion date
Résolu/Fermé
Blue Boy Maxime
Messages postés
65
Date d'inscription
jeudi 18 décembre 2003
Statut
Membre
Dernière intervention
8 juillet 2008
-
1 févr. 2006 à 11:23
alf - 14 juil. 2009 à 13:33
alf - 14 juil. 2009 à 13:33
8 réponses
voila un ptit script si vous ca vous interesse...
@echo off
::***********************************************************
::* *
::* Creating New Directories in Date/Time Sequence *
::* Author Manarii *
::* Date : 16.09.2007 *
::* *
::* Purpose : *
::* This bath file will give the opportunity to *
::* the user to create a new file automatically *
::* with the actual date and he has just to enter *
::* the name of his file. *
::***********************************************************
echo.
:: get all value of the date separetly[year.month.day]
set year=%DATE:~6,4%
set month=%DATE:~3,2%
set day=%DATE:~0,2%
:: Ask for the name of the directory
echo Please enter the name of your new directory...
set /P dirname=%year%.%month%.%day%_
:: Creation of the new directory
md %year%.%month%.%day%_%dirname%
@echo off
::***********************************************************
::* *
::* Creating New Directories in Date/Time Sequence *
::* Author Manarii *
::* Date : 16.09.2007 *
::* *
::* Purpose : *
::* This bath file will give the opportunity to *
::* the user to create a new file automatically *
::* with the actual date and he has just to enter *
::* the name of his file. *
::***********************************************************
echo.
:: get all value of the date separetly[year.month.day]
set year=%DATE:~6,4%
set month=%DATE:~3,2%
set day=%DATE:~0,2%
:: Ask for the name of the directory
echo Please enter the name of your new directory...
set /P dirname=%year%.%month%.%day%_
:: Creation of the new directory
md %year%.%month%.%day%_%dirname%
M&M
Messages postés
5057
Date d'inscription
dimanche 11 août 2002
Statut
Contributeur
Dernière intervention
3 décembre 2009
667
1 févr. 2006 à 13:49
1 févr. 2006 à 13:49
Les batch files de Dos et windows 98 ne comprennent pas la syntaxe actuelle. Et la variable %DATE% n'est pas dans l'environnement. A l'époque, c'était la croix et la bannière. J'utilise des scripts en awk ou en Perl, disponibles sous Dos.
Exemple en Perl:
En awk (ftp://ftp.simtel.net/pub/simtelnet/msdos/txtutl/awk320.zip ) :
je crée un fichier temporaire et je le relis pour avoir la date courante, mais cela dépend du Country=033 dans le fichier Config.sys...
(.)#(.)
Exemple en Perl:
#---- ACQUISITION DE LA DATE ET DE L'HEURE----- ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); $mon++; $Year=($year>96)?1900+$year:2000+$year; $YMD=sprintf ("%4d-%s%d-%s%d", $year,($mon<10)?"0":"",$mon, ($mday<10)?"0":"",$mday); $HH=sprintf("%2dh%s%d et %2d sec",$hour,($min<10)?'0':'',$min,$sec); print "Date : " $YMD $HH;
En awk (ftp://ftp.simtel.net/pub/simtelnet/msdos/txtutl/awk320.zip ) :
je crée un fichier temporaire et je le relis pour avoir la date courante, mais cela dépend du Country=033 dans le fichier Config.sys...
BEGIN { TMP="TEMP.TMP" #print "Usage: awk -f date.awk" system ("dir /4 "TMP" > " TMP) for (i=1;i<8;i++) { getline < TMP if (i> 4 && NF>=5) { Date=$4; Time=$5 close(TMP) break } } close (TMP) system ("del "TMP) split(Date,DD,"\/") YMD=DD[3]DD[2]DD[1] print "Date: "YMD" "Time exit }_ç_§:
(.)#(.)
M&M
Messages postés
5057
Date d'inscription
dimanche 11 août 2002
Statut
Contributeur
Dernière intervention
3 décembre 2009
667
1 févr. 2006 à 14:05
1 févr. 2006 à 14:05
Enfin tu pourrais aussi t'intéresser à ce petit utilitaire DOS : Batchman sur http://short.stop.home.att.net/freesoft/batch2.htm#batchman
et à Fdate http://short.stop.home.att.net/freesoft/batch1.htm#date et http://www.ferg.org/fdate/index.html
_ç_§:
(.)#(.)
et à Fdate http://short.stop.home.att.net/freesoft/batch1.htm#date et http://www.ferg.org/fdate/index.html
_ç_§:
(.)#(.)
Blue Boy Maxime
Messages postés
65
Date d'inscription
jeudi 18 décembre 2003
Statut
Membre
Dernière intervention
8 juillet 2008
18
2 févr. 2006 à 17:12
2 févr. 2006 à 17:12
Salut,
j'ai préféré faire un programme en pascal à insérer dans un batch.
(pour ne pas insatller perl ou autre sur un serveur déjà bien chargé)
Le programme mydate2.pas retourne une chaine de ce type:
@set mydate=2006_02_02
Je l'insére dans le fichier batch que voici, pour insérer la date dans un la variable mydate pour créer un nouveau nom de fichier.
-------------------------------------
@echo off
mydate2 > toto.bat
call toto.bat
del toto.bat
copy b*.log b%mydate%.log
------------------------------------
je mets le fichier pascal: mydate2.pas que j'ai compilé avec freepascal.
-------------------------------
uses dos;
var a,m,j,jour,heure,min,sec,cent:word;
function leadingzeros(a : word) : string;
var aux : string;
begin
str(a,aux);
if a<10 then
aux := '0'+aux;
leadingzeros := aux;
end;
BEGIN
getdate(a,m,j,jour);
write('@set mydate=',a,'_',leadingzeros(m),'_',leadingzeros(j));
END.
-------------------------------
Merci à tous de vos réponses éclairantes.
A+
j'ai préféré faire un programme en pascal à insérer dans un batch.
(pour ne pas insatller perl ou autre sur un serveur déjà bien chargé)
Le programme mydate2.pas retourne une chaine de ce type:
@set mydate=2006_02_02
Je l'insére dans le fichier batch que voici, pour insérer la date dans un la variable mydate pour créer un nouveau nom de fichier.
-------------------------------------
@echo off
mydate2 > toto.bat
call toto.bat
del toto.bat
copy b*.log b%mydate%.log
------------------------------------
je mets le fichier pascal: mydate2.pas que j'ai compilé avec freepascal.
-------------------------------
uses dos;
var a,m,j,jour,heure,min,sec,cent:word;
function leadingzeros(a : word) : string;
var aux : string;
begin
str(a,aux);
if a<10 then
aux := '0'+aux;
leadingzeros := aux;
end;
BEGIN
getdate(a,m,j,jour);
write('@set mydate=',a,'_',leadingzeros(m),'_',leadingzeros(j));
END.
-------------------------------
Merci à tous de vos réponses éclairantes.
A+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
M&M
Messages postés
5057
Date d'inscription
dimanche 11 août 2002
Statut
Contributeur
Dernière intervention
3 décembre 2009
667
3 févr. 2006 à 00:48
3 févr. 2006 à 00:48
Oui, tu as bien fait. Ah, le pascal, c'est beau !
_ç_§:
(.)#(.)
_ç_§:
(.)#(.)
bonjour
excuser moi de vous déranger mais je ne sais pas comment passer d'un fichier msdos
a un fichier video 3gp compatible avec mon téléphone mobile
merci d'avance pour vos conseils
excuser moi de vous déranger mais je ne sais pas comment passer d'un fichier msdos
a un fichier video 3gp compatible avec mon téléphone mobile
merci d'avance pour vos conseils