2010-02-15 5 views

Répondre

8

Si vous devez utiliser la date actuelle dans un fichier de commandes, la %date% variable a la date:

echo %date% 
23/02/2010 

Il utilise le format du paramètre régional de votre ordinateur. Dans mon ordinateur, c'est dd/mm/yyyy.

Depuis la / ne peut pas faire partie d'un nom de fichier, ils doivent être remplacés par un caractère sûr ou rien:

echo %date:/=-% 
23-02-2010 

echo %date:/=% 
23022010 

Si vous souhaitez créer une copie de sauvegarde d'un fichier, vous pouvez le faire quelque chose comme:

copy file.txt file-%date:/=%.txt 
dir /b file*.* 
file-23022010.txt 
file.txt 

Ou d'abord il réglé sur une variable, puis l'utiliser:

set currdate=%date:/=% 
copy file.txt file-%currdate%.txt 
1

Le date command est ce que vous cherchez. Cela fonctionne sur ma boîte Windows XP:

date 15-02-2010 

Notez que le formatage dd-MM-yyyy, qui semble être nécessaire ici, probablement à cause de mes paramètres régionaux étant mis à Danemark. La documentation indique que le format est MM-dd-yy, mais sur mon ordinateur, les champs jour et mois sont inversés si la date est écrite dans ce format.

+0

que faire lorsque vous ne voulez pas coder en dur la date actuelle dans la commande. Y at-il une commande comme date curdate() – silverkid

+0

qui ramasse la date du bios – silverkid

+0

Je ne suis pas sûr si je vous suis ici. Vous pouvez faire 'date/t' pour ** obtenir ** la date actuelle, mais votre question initiale semble être sur la façon de ** fixer ** la date. –

0

Quand vous tapez "date" sur la commande dos, il vous montrera la date spécifiée dans votre bios, et vous demandera de régler la date actuelle (vous pouvez la définir si la date dans votre bios n'est pas le courant). Le système n'a aucune capacité à savoir si sa date est correcte.

Si vous avez un serveur avec une date correcte, vous pouvez utiliser "net time" pour que le client puisse se synchroniser avec le serveur.

NET TIME <SERVERNAME> /SET 
Questions connexes