[DOS] un petit bout de code svp

un petit bout de code svp [DOS] - Win NT/2K/XP - Windows & Software

Marsh Posté le 02-02-2003 à 19:05:19    

Bonjour à tous.
 
Alors voila, mon probleme est tout bete ( pour ceux qui maitrisent le sujet...donc pas moi  :D ) :
 
Je voudrais créer en une ligne de commande un repertoire avec la date du jour.
 
Par exemple si on prend le 23 Fevrier 2003 je voudrais que le nom du repertoire soit : c:\23-02-20003\
 
Ca doit etre tout bete a faire mais je ne connais que tres peu dos :-(

Reply

Marsh Posté le 02-02-2003 à 19:05:19   

Reply

Marsh Posté le 02-02-2003 à 19:06:54    

md c:\23-02-2003

Reply

Marsh Posté le 02-02-2003 à 19:13:34    

J'ai peut etre oublié de mentionner que cette ligne doit s'inserer dans un fichier bat et que par consequent je recupere la date automatiquement ( et donc que je ne la rentre pas a la main)

Reply

Marsh Posté le 02-02-2003 à 19:16:27    

tu la récupères d'où ?

Reply

Marsh Posté le 02-02-2003 à 19:23:34    

Justement c'est la le soucis...
 
J'y connais pas grand chose... mais peut etre est ce que je pourrais la recuperer avec la fonction "date" et traiter le retour de cette commande pour mettre ca dans une variable
 
( je ne m'y connais pas du tout en dos.. mis a part les commandes de bases)

Reply

Marsh Posté le 02-02-2003 à 20:21:35    

le sujet m'intérese, si ya qqun ki a une url pour apprendre le batch, ça serait cool de la poster ici :)


Message édité par ptibeur le 02-02-2003 à 20:21:48
Reply

Marsh Posté le 02-02-2003 à 20:33:26    

Grouzou a écrit :

Justement c'est la le soucis...
 
J'y connais pas grand chose... mais peut etre est ce que je pourrais la recuperer avec la fonction "date" et traiter le retour de cette commande pour mettre ca dans une variable
 
( je ne m'y connais pas du tout en dos.. mis a part les commandes de bases)


 
ça passera pas avec date vu qu'il retourne une valeur de date de type JJ/MM/AAAA, et qu'on ne peut pas créer de fichier/dossier incluant le caractère "/"

Reply

Marsh Posté le 02-02-2003 à 21:00:59    

c'est du dos pur ou du batch 2k/XP


---------------
Moi quand on m'en fait trop j'correctionne plus, j'dynamite... j'disperse... et j'ventile | feedback
Reply

Marsh Posté le 02-02-2003 à 21:05:55    

MossieurPropre a écrit :


 
ça passera pas avec date vu qu'il retourne une valeur de date de type JJ/MM/AAAA, et qu'on ne peut pas créer de fichier/dossier incluant le caractère "/"


Sous windows nt tu peu modifier cet affichage ds les parametre regional


---------------
Moi quand on m'en fait trop j'correctionne plus, j'dynamite... j'disperse... et j'ventile | feedback
Reply

Marsh Posté le 02-02-2003 à 21:12:15    

Ca devient de la prog...
le principe c'est de faire un truc du genre :
date > jour.txt
 
ca créé un fichier jour.txt avec la date ensuite tu l'extais en te débrouillant avec les options "token" et "delim"
et tu créé un fichier qui contient que ta date...
puis tu sépares les morceaus avec "delim"
et en final t'a un fichier qui contient ta date au format jj-mm-aaaa
t'a pu qu'a créé ton dossier avec cette valeur a la suite de "md"
 
mais déplace ce tomic sur programmation->batch
tu sera mieu conseillé...

Reply

Marsh Posté le 02-02-2003 à 21:12:15   

Reply

Marsh Posté le 02-02-2003 à 21:30:38    

Déjà tu peut utiliser la variable systeme %date% mais tu l'as sous la forme jj/mm/aa. Après faut bricoler avec.

Reply

Marsh Posté le 02-02-2003 à 21:43:17    

Et il n'y aurait pas une possibilité de faire comme sous Unix ( j'ai du faire une ou deux commandes du types pas plus) ?
 
C'est a dire faire une suite de commande (avec | je crois) et de faire $1 $2 pour recuperer les bonnes valeurs?
 
Enfin bon je vais suivre les conseils deja donné ici et je vais aller poster ce sujet dans la bonne categorie :D
 
Mici a vous :jap:

Reply

Marsh Posté le 04-02-2003 à 10:33:12    

DesuetCR_B a écrit :


Sous windows nt tu peu modifier cet affichage ds les parametre regional


 
 :jap:

Reply

Marsh Posté le 04-02-2003 à 11:16:50    

Alors en VBS :
 


Dim fso, rep, aujourdhui
Set fso = CreateObject("Scripting.FileSystemObject" )
 
Function AddZero(valeur)
 If CInt(valeur) < 10 Then
  valeur = "0" & valeur
 End If
 AddZero = valeur
End Function
 
rep = "c:\" ' Attention à bien laisser le \ !!!
aujourdhui = Year(Now()) & "-" & AddZero(Month(Now())) & "-" & AddZero(Day(Now()))
 
If Not fso.FolderExists(rep & aujourdhui) THEN
Set f = fso.CreateFolder(rep & aujourdhui)
End If
set f=nothing


 
Le principe :
dans rep, tu met le repertoire dans lequel doit se crée tout les jours le nouveau repertoire (ex : "c:\windows\" ). Il faut bien que le tout se finisse par un \ sinon attention les yeux :D
 
Par contre j'ai mis annee-mois-jour, l'avantage c'est que ca se range par ordre chronologique. Mais bon a modifier ca devrait pas etre dur :D
 
Tu enregistre le tout dans un fichier d'extension vbs et zou, ca devrait marcher !


---------------
"Ne jamais faire confiance à un truc qui peut saigner 4-5 jours par mois sans crever !"
Reply

Marsh Posté le 04-02-2003 à 16:12:47    

merci tout pleiiiinnnnn
 
Mais c'est vachement compliqué en fait.... je pensais que ca serait beaucoup plus simple :)

Reply

Marsh Posté le 04-02-2003 à 16:15:09    

Bah compliqué, non pas trop, et puis on pouvait faire en trois fois moins de lignes, mais ca aurait été moins propre :D
En tout cas content que ca fasse l'affaire !


---------------
"Ne jamais faire confiance à un truc qui peut saigner 4-5 jours par mois sans crever !"
Reply

Marsh Posté le 04-02-2003 à 16:39:59    

Grouzou a écrit :

merci tout pleiiiinnnnn
 
Mais c'est vachement compliqué en fait.... je pensais que ca serait beaucoup plus simple :)


 
C'est aps bien compliqué, mais si tu es intéressé par des scripts de ce genre (tu peux faire bcp de choses avec) il y une référence en la matière (avec pleins d'exemples utiles) :
 
Windows 2000 Scripting Bible de William R. Stanek, publié par IDG Books, ISBN : 0-7645-4677-5

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed