J'appelle le programme suivant depuis un autre prog en ligne de commande ...
:: NT_getdate.cmd return yumd-date in var='ymd'
@echo on
setlocal
for /F "tokens=2,3,4 delims=/ " %%g in ('echo.^|date /t') do (
set dd=%%g
set mm=%%h
set yy=%%i
)
endlocal& set ymd=%yy%%mm%%dd%
Lorsque je lance le programme à partir de la ligne de commande, ymd est renvoyé sous le nom "20160501", ce que je souhaite.
Lorsque j'exécute le programme principal à partir du Planificateur de tâches, le résultat obtenu est "1605".
Des idées?
windows
command-line
scheduled-tasks
SteveHMTM
la source
la source
date /t
, puis la commande pause et comparez les formats de fichier batch dans cmd et de planificateur de tâchesRéponses:
Je voudrais avoir la date formatée comme 20160501
L'utilisation
%date%
d'une solution dépend des paramètres régionaux, régionaux et linguistiques du système d'exploitation. Cela explique pourquoi vous obtenez différents résultats.En
wmic
revanche, l’utilisation fonctionne indépendamment des paramètres régionaux, de la langue ou du format de date choisi par l’utilisateur (Panneau de configuration / Régional).Le fichier de commandes suivant utilise
wmic
pour extraire la date et l'heure (locale) au format spécifié par l'OP, afin de ne pas subir l'inconvénient d'une solution utilisant%date%
.GetDate.cmd:
Remarques:
Sortie :
Lectures complémentaires
la source