Se connecter / S'enregistrer
Votre question

Créer un dossier avec date du jour en batch

Tags :
  • date
  • dos répertoire date du jour
  • Programmation
Dernière réponse : dans Programmation
23 Septembre 2016 11:29:14

Salut, alors je remonte un très vieux post (11 ans déjà)

Bonjour

Voici le code que j'ai utilisé :

set jour=%date:~0,2%
set mois=%date:~3,2%
set annee=%date:~6,4%
set a=%annee%.%mois%.%jour%"

md "%a%G5"

Sur windows 10, j'ai 2 résultats :
soit 2016.09.23 G5 (recherché)
Soit t. 2.se.23 G5 (Pas du tout recherché)

J'ai l'impression que l'UAC est la cause. Qqn a une solution?

Merci d'avance

Autres pages sur : creer dossier date jour batch

a b L Programmation
23 Septembre 2016 11:46:31

@echo off
SET D=%DATE%
SET DA=%D:/=-%
ECHO %DA%
c:

mkdir %DA%
m
0
l
23 Septembre 2016 11:47:24

Alors, je m'auto répond. Le batch se base sur l'affichage de la date de votre PC.

Ainsi, mes PC étant configuré en 23 sept16 il reproduit cette date

Qqn connais le code qui donne un format précis de la date?
m
0
l
Contenus similaires
23 Septembre 2016 11:50:04

magellan a dit :
@echo off
SET D=%DATE%
SET DA=%D:/=-%
ECHO %DA%
c:

mkdir %DA%



merci je teste ça tout de suite
m
0
l
23 Septembre 2016 12:05:10

magellan a dit :
@echo off
SET D=%DATE%
SET DA=%D:/=-%
ECHO %DA%
c:

mkdir %DA%


Voici ton code que j'apprécie beaucoup et que j'ai adapté à mon besoin

@echo off
SET D=%DATE%
SET DA=%D:/=-%
ECHO %DA%
mkdir "%DA%"

Comme annoncé plus bas, ce code se base sur l'affichage programmé sur le PC.

Donc sur certain PC, j'ai "23-09-16" et sur d'autres "23 sept. 2016"

Une idée sur une solution?

Pq me compliquer la vie?
Car je prépare des PC que je clone sur un disque externe. Le disque doit contenir la même nomenclature de base
m
0
l
23 Septembre 2016 17:03:10

Bonjour, je vais te donné une piste :

- Tu peux changer le format de date en commençant ton batch
- Le format de date ce trouve dans le registre dans la clé HKCU\Control pannel\International dans la clé "sShortDate"
- La commande "REG" en batch te permet de modifier le registre : http://windows.developpez.com/cours/ligne-commande/?pag...

Voici la liste des format de date qui peuvent etre utilisé dans la clé "sShortDate" :

•JJ/MM/AAAA.
•J/aa
•Jj/mm/aaaa
•MM/jj/aa
•yy/MM/JJ
•AAAA-MM-JJ.
•JJ-MMM-AA

Maintenant à toi de trouver, je peux t'aider si tu as besoin.
m
0
l
a b L Programmation
24 Septembre 2016 00:15:17

Aie stop les frais. NE JAMAIS retoucher ainsi le registre, cela modifie TOUT ton Windows concernant le format.
Reconstruis plutôt ta date comme tu l'entends... cherche du côté du batch sur la gestion du formatage de la date en variables, ne t'amuse pas à bidouiller celle de la machine cible.
m
0
l
26 Septembre 2016 14:34:04

Je ne vois pas réellement le souci Magellan, surtout si tu utilise Reg save au debut et reg restore à la fin pour remettre le tout si nécessaire. L'important c'est de tester en virtuel avant déploiement bien sur !!!!

De plus j'ai cru comprendre que c'est dans le but de cloner les machines donc d'avoir un standard établi pour le format de date ne peux pas être mauvais.

Mais sinon l'idée de vérifier le contenu de la variable mois pour la convertir si nécessaire n'est pas une mauvaise idée non plus.
m
0
l
19 Octobre 2016 16:39:06

Bonjour,
je propose:

  1. @echo off
  2. mode con cols=50 lines=4
  3. :: Je prépare mon format de date désiré:
  4. :: %%a est le jour - %%b est le mois - %%c est l'année sur 4 chiffres.
  5. :: J'utilise comme séparateur le underscore " _ "
  6. for /f "tokens=1,2,3 delims=/ " %%a in ('date /t') do set ladate=%%a_%%b_%%c
  7.  
  8. :: J'invite l'utilisateur à renseigner un nom pour construire le dossier avec la variable "quoi".
  9. echo.
  10. SET /P quoi=" Le nom du dossier, SVP ? "
  11.  
  12. :: J'invite l'utilisateur à renseigner un chemin [PATH] ou construire le dossier avec la variable "ou".
  13. echo.
  14. SET /P ou=" Emplacement ? "
  15.  
  16. :: je construis le dossier à l'endroit voulu.
  17. MKDIR "%ou%\%quoi%_%ladate%"
  18.  
  19. :: je vérifie que le dossier existe bien là où il doit être.
  20. color 0A
  21. if exist "%ou%\%quoi%_%ladate%" CLS & echo. & echo Le dossier %quoi% existe ! & goto fin
  22. color 0C
  23. if not exist "%ou%\%quoi%_%ladate%" CLS & echo. & echo Le dossier %quoi% N ' EXISTE PAS ! & goto fin
  24.  
  25. :fin
  26. color
  27. ping 127.0.0.1 -n 3 > nul
  28. exit


Le dossier avec la variable %quoi% est construit à l'emplacement de votre choix avec la variable %ou%.

La Date prend le format des variables %%a %%b %%c ainsi on peut accommoder à volonté le format de uneDate en deuxDate ou inversement :D 

Il est possible de définir un emplacement par défaut en appelant via une variable, un chemin contenu dans un fichier ini. Mais ça c'est un autre sujet.
m
0
l
19 Octobre 2016 16:43:11

Bonjour,
je propose:

  1. @echo off
  2. mode con cols=50 lines=4
  3. :: Je prépare mon format de date désiré:
  4. :: %%a est le jour - %%b est le mois - %%c est l'année sur 4 chiffres.
  5. :: J'utilise comme séparateur le underscore " _ "
  6. for /f "tokens=1,2,3 delims=/ " %%a in ('date /t') do set ladate=%%a_%%b_%%c
  7.  
  8. :: J'invite l'utilisateur à renseigner un nom pour construire le dossier avec la variable "quoi".
  9. echo.
  10. SET /P quoi=" Le nom du dossier, SVP ? "
  11.  
  12. :: J'invite l'utilisateur à renseigner un chemin [PATH] ou construire le dossier avec la variable "ou".
  13. echo.
  14. SET /P ou=" Emplacement ? "
  15.  
  16. :: je construis le dossier à l'endroit voulu.
  17. MKDIR "%ou%\%quoi%_%ladate%"
  18.  
  19. :: je vérifie que le dossier existe bien là où il doit être.
  20. color 0A
  21. if exist "%ou%\%quoi%_%ladate%" CLS & echo. & echo Le dossier %quoi% existe ! & goto fin
  22. color 0C
  23. if not exist "%ou%\%quoi%_%ladate%" CLS & echo. & echo Le dossier %quoi% N ' EXISTE PAS ! & goto fin
  24.  
  25. :fin
  26. color
  27. ping 127.0.0.1 -n 3 > nul
  28. exit


Le dossier avec la variable %quoi% est construit à l'emplacement de votre choix avec la variable %ou%.

La Date prend le format des variables %%a %%b %%c ainsi on peut accommoder à volonté le format de la date, à condition de respecter les caractères autorisés pour la construction d'un dossier :D 

Il est possible de définir un emplacement par défaut en appelant via une variable, un chemin contenu dans un fichier ini. Mais ça c'est un autre sujet.
m
0
l
a b L Programmation
19 Octobre 2016 17:29:37

patt024 a dit :
Je ne vois pas réellement le souci Magellan, surtout si tu utilise Reg save au debut et reg restore à la fin pour remettre le tout si nécessaire. L'important c'est de tester en virtuel avant déploiement bien sur !!!!

De plus j'ai cru comprendre que c'est dans le but de cloner les machines donc d'avoir un standard établi pour le format de date ne peux pas être mauvais.

Mais sinon l'idée de vérifier le contenu de la variable mois pour la convertir si nécessaire n'est pas une mauvaise idée non plus.


Réponse tardive: ne JAMAIS bricoler les paramètres régionaux à la volée, parce que ceux-ci peuvent poser des soucis de fonctionnement dans des applications tierces. Cas d'école: un changement de format peut influer sur l'interprétation dans excel, dans nombre d'applications de comptabilité, ou encore dans des gestionnaires d'accès sécurisés liés à des délais de traitement.
Dans ces conditions, on ne bricole pas de ce côté, on cherche plus une méthode pérenne et compatible avec tous les formats locaux!
m
0
l