3 votes

Les fichiers batch de Windows-10 sont basés sur la commande DATE, comment les utiliser sur les versions inférieures de Windows ?

Je travaille sur deux machines (virtuelles) :

  • La première est une machine Windows 10
  • Le second est une machine Windows 7

Dans les deux cas, les formats de date courte sont identiques : dd.MM.yyyy
Dans les deux cas, j'exécute le même fichier batch, basé sur le fichier DATE commandement.

J'ai des différences dans les résultats, liées à l'issue de l'enquête. DATE les résultats de la commande :

  • Sous Windows 10 : The current date is: st 22.03.2017
  • Sous Windows 7 : The current date is: 22.03.2017

Comme vous pouvez le constater, la différence est due à la présence du nom d'aujourd'hui ( st est une abréviation du mot tchèque pour Wednesday ).

Le système Windows 10 est le maître, alors ma question est la suivante : comment puis-je modifier le système Windows-7 pour inclure les deux premières lettres du nom du jour ?

Comme tests, j'ai déjà essayé ce qui suit pour un format de date court :

dd dd.MM.yyyy   // this is better, the length of the format is good,
                   but it does not start with the initials of the day's name.
dddd dd.MM.yyyy // this starts with the day's name, but completely, 
                   and I only want the first two letters.

Entre-temps, j'ai examiné de plus près le problème : le format de date semble être utilisé à deux endroits :

  1. Tout en travaillant avec le DATE en ligne de commande (là, j'ai besoin d'un format tel que
    xx dd.MM.yyyy (quoi que cela xx pourrait être) pour un traitement ultérieur
  2. Au cours de la période suivante echo : for /r %DIRECTORY% %I in ("*.*") do echo %~tfI L'idée est de montrer un horodatage et le nom du fichier, quelque chose comme :
    22.03.2016 13:50 <filename> (sans xx )

1voto

Overmind Points 9514

Sous Windows 7, vous devez utiliser ddd pour avoir un format similaire, qui est de 3 caractères et non de 2.

Vous pouvez donc utiliser ddd dd.MM.yyyy . C'est le format supporté.

Un moyen d'arriver à 2 caractères serait d'en supprimer un avec un fichier batch.

0voto

Dominique Points 1394

Quel gâchis, mais je crois que j'ai trouvé une solution à ce problème :

Le point est le suivant : Sous Windows 10, même en disposant d'un format de date simple (tel que dd.MM.yyyy ), le date /T ajoute les premiers caractères du jour, ce qui donne le résultat suivant :

date /T
st 22.03.2017

Et mes collègues ont construit leurs fichiers batch autour de la présence de ces caractères "st". L'exécution de ces fichiers batch sur des versions inférieures de Windows pose les problèmes mentionnés.

Au début des fichiers batch, j'ai ajouté la ligne :

DATE=xx %DATE%

(très enfantin, je l'admets)
Cela permet aux fichiers batch de fonctionner sur mon ordinateur Windows-7.
Pour qu'il fonctionne sur les deux systèmes, il suffit d'ajouter une vérification sur la plate-forme, quelque chose comme :

set WINDOWS_10=%ver | findstr /C:"Version 10"%
if "WINDOWS_10"=="" (
  set DATE=xx %DATE%)

Je ne l'ai pas encore vérifié sur un PC Windows-10, mais je pense que cela fera l'affaire.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X