Extraire la date avec Ms-dos
Résolu
van'
-
fafa90 -
fafa90 -
bonjour,
je cherche a extraire la date du jour sous le dos, à la mettre sous la forme jj_mm_aaaa, et mettre le résultat obtenu dans une variable (qui me servira a ouvrir un fichier portant ce nom).
est ce que c possible ???????
je cherche a extraire la date du jour sous le dos, à la mettre sous la forme jj_mm_aaaa, et mettre le résultat obtenu dans une variable (qui me servira a ouvrir un fichier portant ce nom).
est ce que c possible ???????
A voir également:
- Dos date
- Airpods 3 date de sortie - Guide
- Jm date désabonnement - Forum Gmail
- Publipostage date inversée - Forum Word
- Exif date changer - Télécharger - Albums photo
- Trier par date excel - Guide
32 réponses
Pour récupérer la date (ou l'heure), sans utiliser de fichier tmp :
for /F "tokens=1* delims=@" ('date /T') do set date=%%a
delims=@ permet de tout récupérer dans une seule variable
sinon, on peut utiliser plusieurs délimiteurs et récupérer les champs individuellement.
pour avoir des explications : help for
ne fonctionne que sous W/NT et supérieur (pas sous W98)
for /F "tokens=1* delims=@" ('date /T') do set date=%%a
delims=@ permet de tout récupérer dans une seule variable
sinon, on peut utiliser plusieurs délimiteurs et récupérer les champs individuellement.
pour avoir des explications : help for
ne fonctionne que sous W/NT et supérieur (pas sous W98)
j'ai une base de données en sql server et je voudrais ajouter des données dans ujn certain nombre de table mais étant en Access XP. en fait je lie des tables à la base sql server par ODBC.quelle sécurité doi_je mettre sur les tables afin que ceci soit possible.
Remarques:
Attention aux variables déclarées dans une boucle for ou dans un call appelé dans la boucle for:
-- pas de mise à jour ou de récupération possible.
-- utiliser des variables déclarées avant la boucle.
-- bien tester avant de mettre en production.
pour ma part je traite mes opérations entièrement dans les call;
la boucle for ne me sert que pour lire des valeurs l'une après l'autre.
Attention aux variables déclarées dans une boucle for ou dans un call appelé dans la boucle for:
-- pas de mise à jour ou de récupération possible.
-- utiliser des variables déclarées avant la boucle.
-- bien tester avant de mettre en production.
pour ma part je traite mes opérations entièrement dans les call;
la boucle for ne me sert que pour lire des valeurs l'une après l'autre.
Je travaille sur un logiciel qui crée chaque jour 6 fichiers qui correspondent à l'historique du jour.
Ces fichiers sont:
bases_20080405.FIC
bases_20080405.NDX
histo_20080405.FIC
histo_20080405.NDX
reglem_20080405.FIC
reglem_20080405.NDX
Ma mission est d'acheminer tous les jours à 23h, uniquement les 6 fichiers qui comportent la date du système, vers un ordi distant (donc transfert par IP) et de les coller das un répertoire précis.
ma question est-elle claire? irréalisable? bref merci à celui qui me sortira de ce mauvais pas!!!
Ces fichiers sont:
bases_20080405.FIC
bases_20080405.NDX
histo_20080405.FIC
histo_20080405.NDX
reglem_20080405.FIC
reglem_20080405.NDX
Ma mission est d'acheminer tous les jours à 23h, uniquement les 6 fichiers qui comportent la date du système, vers un ordi distant (donc transfert par IP) et de les coller das un répertoire précis.
ma question est-elle claire? irréalisable? bref merci à celui qui me sortira de ce mauvais pas!!!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Oui c'est certainement possible, étant au bureau, pas beaucoup de temps pour faire un test, mais en attendant, pourquoi ne pas essayer un bon soft de synchro comme SyncBackSE qui te fera ce boulot a merveille?
Désolé pour cette réponse incomplète, mais en attendant, on ne sait jamais si cela peut t'aider.
Bonne journée.
Oui c'est certainement possible, étant au bureau, pas beaucoup de temps pour faire un test, mais en attendant, pourquoi ne pas essayer un bon soft de synchro comme SyncBackSE qui te fera ce boulot a merveille?
Désolé pour cette réponse incomplète, mais en attendant, on ne sait jamais si cela peut t'aider.
Bonne journée.
En regardant ce sujet, je me suis rendu compte que la réponse n°15 de ce sujet correspond a tes attentes...
dans l'exemple :
set mon_fic=c:\ZZZ-%Date:~-4%%Date:~-7,-5%%Date:~-10,-8%.XXX
echo %mon_fic%
il te suffit de replacer le c:\ par le bon chemin - ZZZ par le nom de ton fichier et XXX par l'extension de ton fichier, puis ensuite faire ta copie a la place de la commande echo de cet exemple...
ce ferait un truc du genre :
set mon_fic=c:\bases_-%Date:~-4%%Date:~-7,-5%%Date:~-10,-8%.FIC
copy %mon_fic% DESTINATION (voir syntaxe exacte de copy)
Le tout dans un .bat en pratiquant de meme pour...
bases_20080405.NDX
histo_20080405.FIC
histo_20080405.NDX
reglem_20080405.FIC
reglem_20080405.NDX
A tester.......
Bonne journée
dans l'exemple :
set mon_fic=c:\ZZZ-%Date:~-4%%Date:~-7,-5%%Date:~-10,-8%.XXX
echo %mon_fic%
il te suffit de replacer le c:\ par le bon chemin - ZZZ par le nom de ton fichier et XXX par l'extension de ton fichier, puis ensuite faire ta copie a la place de la commande echo de cet exemple...
ce ferait un truc du genre :
set mon_fic=c:\bases_-%Date:~-4%%Date:~-7,-5%%Date:~-10,-8%.FIC
copy %mon_fic% DESTINATION (voir syntaxe exacte de copy)
Le tout dans un .bat en pratiquant de meme pour...
bases_20080405.NDX
histo_20080405.FIC
histo_20080405.NDX
reglem_20080405.FIC
reglem_20080405.NDX
A tester.......
Bonne journée
Salut Van,
Essaie la commande string.com
et exécute un script .BAT comme suit
Echo OFF
STRINGS JOUR = DAY
RENAME file.txt %JOUR%.TXT
Bonne Chance Van
SEMTECH
Essaie la commande string.com
et exécute un script .BAT comme suit
Echo OFF
STRINGS JOUR = DAY
RENAME file.txt %JOUR%.TXT
Bonne Chance Van
SEMTECH
6 ans aprés je remercie eric et poulpenstring pour leurs aides
Grace à eux j'ai réussi à faire mon batch facilement et qui fonctionne parfaitement.
Merci beaucoup
Grace à eux j'ai réussi à faire mon batch facilement et qui fonctionne parfaitement.
Merci beaucoup
Whaouu 6 ans après :) Moi je dis Bravo mooossieur ! ... Ça nous rajeunis pas tout ça ! Mais cela fait plaisir de voir les heures passées a élaborer des petits bouts de codes peuvent encore servir 6 ans après, j'avoue que je viens de temps en temps faire des petits copier/coller des exemples expliqués dans ce thread . Bonne fêtes de fin d'années a toi.
Poulpenstring
Poulpenstring
for /f "tokens=1-3 delims=:" %%i in ('time /t') do echo Testing: %date:/=_% %%ih%%j >> _test-date-time.txt
=)
=)
Pour afficher l'heure sur un nom de fichier est éviter le problème du null dans le cas ou l'heure et entre ( 00h = 0h à 09 = 9h), il faut tous simplement reformater la variable utiliser pour afficher l'heure , par exemple si la variable utiliser est vtime, on utilise une autre variable ptime=%vtime: =0% cette commande remplace le null dans vtime par 0 (si vtime= 92531 alors ptime=092531)
Je commençais a désespérer ...
Merci Yazul