mechkurt a écrit :
Le problème avec le format de la date vient probablement de la commande date /t et de la manière dont elle retourne la date en fonction des paramètres régionaux de votre système. Les paramètres régionaux peuvent influencer le format de sortie, et il semble que dans votre cas, la date est retournée sous un format différent de celui attendu.
Pour obtenir le format souhaité (JJ-MM-AAAA), vous pouvez ajuster le script batch en utilisant la commande wmic pour obtenir la date au format YYYYMMDD, puis réarranger les parties pour obtenir le format désiré.
Voici comment vous pouvez le faire :
batch
Code :
- @echo off
- setlocal enabledelayedexpansion
- REM Récupérer le chemin complet du dossier où se trouve ce fichier batch
- set "current_dir=%~dp0"
- REM Utiliser WMIC pour obtenir la date au format AAAAMMJJ
- for /f "tokens=2 delims==" %%i in ('wmic os get localdatetime /value') do set datetime=%%i
- REM Extraire l'année, le mois et le jour
- set year=%datetime:~0,4%
- set month=%datetime:~4,2%
- set day=%datetime:~6,2%
- REM Créer le dossier de destination basé sur la date
- set "destination=%current_dir%%day%-%month%-%year%"
- if not exist "!destination!" (
- mkdir "!destination!"
- )
- REM Parcourir tous les fichiers du dossier actuel sauf ce fichier batch et les déplacer vers le dossier de destination
- for %%F in ("%current_dir%\*" ) do (
- if not "%%~nxF"=="%~nx0" (
- move "%%F" "!destination!" >nul
- )
- )
- echo Fichiers déplacés avec succès dans le dossier !destination!.
- pause
|
Dans ce script :
- Nous utilisons wmic os get localdatetime /value pour obtenir la date et l'heure actuelles au format AAAAMMJJHHMMSS.
- Nous extrayons l'année, le mois et le jour de cette chaîne.
- Nous formons le dossier de destination en utilisant le format JJ-MM-AAAA.
- Le reste du script parcourt les fichiers et les déplace vers le dossier de destination comme avant.
Ce script devrait résoudre le problème de format de date que vous rencontrez.
|