Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1752 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Compteur année mois jours batch

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Compteur année mois jours batch

n°2293867
dona_58
Posté le 19-12-2016 à 19:35:00  profilanswer
 

Bonjour,  
Je voudrais réaliser un programme batch qui me permet de créer des dierctory lies à l'année, le mois, et enfin le jour.
J'ai réalisé cela mais les 9 premiers jours s'affichent en un seul chiffre : 2 Janvier 2017, 3 Janvier 2017 etc.. 10 Janvier 2017.
pour le triage cela n'est pas le top, j'ai essayé avec plusieurs méthodes d'avoir 01 janvier 2017, 02janvier 2017 etc. sans parvenir à insérer le 0 devant.
voici ce que j'ai fait pour tous les mois.
Cela fonctionne mais je n'arrive pas à dépasser le 08 puis il recommence à 01,02,03.... et cela à l'infini.
 
Es que quelqu’un a une solution ?  
Cela m’aiderais beaucoup.
 
Merci d'avance
 
@echo off
echo #############################################################################
echo #                                                                           #
echo # Bienvenue dans le script de creation de dossier journalier/mensuel/annuel #
echo #                                                                           #
echo #############################################################################
 
set /P PATH="Dans quel repertoire faut il creer les dossier? (Exemple : C:\TEST) "
set /P anneedebut="Quelle est la premiere annee a creer? "
set /P anneefin="Jusqu a quelle annee faut il creer? "
set /A annee=anneedebut
 
:boucle_annee
 
:janvier
SET JOUR=1
SET MOISCOURRIER="01 Janvier "%ANNEE%
SET MOIS="Janvier"
 
:boucle_janvier
 
IF "%JOUR%"=="32" GOTO fevrier
mkdir %PATH%\%ANNEE%\%MOISCOURRIER%\%MOIS%" "%JOUR%"-"%ANNEE%
SET /A JOUR=JOUR+1
SET JOUR=0%JOUR%
IF "%JOUR%"=="010" GOTO boucle_jour2c
GOTO boucle_janvier
 
:boucle_jour2c
 
echo boucle_jour2c
SET /A JOUR=10
GOTO boucle_janvier
 

mood
Publicité
Posté le 19-12-2016 à 19:35:00  profilanswer
 

n°2293959
lolight
Posté le 21-12-2016 à 23:03:01  profilanswer
 

Hello, je n'ai pas la capacité à te donner une solution fiable mais peut être des idée pour contourner ton problème.
 
Pourquoi n'utilise-tu pas une boucle avec un compteur qui est incrémenté avec une condition type, j'imagine que ça doit se faire :  
if %jours% < 10 :
%joursInf10% = 0+%jours%
mkdir [...%joursInf10%]
%jours% = %jours% +1
else  
mkdir [...%jours%]
%jours% = %jours%+1
 
Quelques chose du genre doit pouvoir se faire.
L'idée est de passer par une autre variable que tu formate avec un 0 devant tant que ta valeur jours est inférieur à 10.
Une fois que tu as passé 10, tu peux passer sur un cycle de création normal.


Message édité par lolight le 21-12-2016 à 23:36:33

---------------
--- Mon topik d'Ach/Ven ---
n°2294003
aldo13000
Posté le 23-12-2016 à 12:23:52  profilanswer
 

Salut,

 

Je sais pas au juste quels dossiers tu veux créer mais c'est un test de ce genre là qu'il faut:
if %jour% lss 10 (set jour2=0%jour%) else set jour2=%jour%

 

et ensuite tu fais les dossiers
mkdir %JOUR2%_%MOIS%_%ANNEE%


Message édité par aldo13000 le 23-12-2016 à 12:24:14

---------------

n°2294019
dona_58
Posté le 24-12-2016 à 01:17:18  profilanswer
 

Merci, pour vos solutions, ça fonctionne.
 
Voilà plusieurs jours que je tournais en rond.
Ce petit Batch me sert à classer le scan de tout document entrant, il est ainsi classé par année, par mois, et par jour d'entré de telle sorte que quand recherche un document, je sais directement ou il se trouve, quand il est arrivée  
Si cela intéresse qulqn voici le programme complet
@echo off
Color 3E
echo #############################################################################
echo #                                                                           #
echo # Bienvenue dans le script de creation de dossier journalier/mensuel/annuel #
echo #                                                                           #
echo #############################################################################
 
set /P PATH="Dans quel repertoire faut il creer les dossier ? (Exemple : C:\Annee_Courrier) "
set /P anneedebut="Quelle est la premiere annee a creer ? "
set /P anneefin="Jusqu a quelle annee faut il creer ? "
set /A annee=anneedebut
 
:boucle_annee
echo Creation en cour Annee %ANNEE%
Echo #
Echo #                        
 
:janvier
SET JOUR=1
SET MOISCOURRIER="01 Janvier "%ANNEE%
SET MOIS="Janvier"
Echo Mois %Mois%
 
:boucle_janvier
IF "%JOUR%"=="32" GOTO fevrier
if %JOUR% lss 10 (set JOUR2=0%JOUR%) else (set JOUR2=%JOUR%)
mkdir %PATH%\%ANNEE%\%MOISCOURRIER%\%MOIS%" "%JOUR2%"-"%ANNEE%
SET /A JOUR=JOUR+1
GOTO boucle_janvier
 
:fevrier
SET JOUR=1
SET MOISCOURRIER="02 Fevrier "%ANNEE%
SET MOIS="Fevrier"
Echo Mois %Mois%
 
:boucle_fevrier
IF "%JOUR%"=="30" GOTO mars
if %JOUR% lss 10 (set JOUR2=0%JOUR%) else (set JOUR2=%JOUR%)
mkdir %PATH%\%ANNEE%\%MOISCOURRIER%\%MOIS%" "%JOUR2%"-"%ANNEE%
SET /A JOUR=JOUR+1
GOTO boucle_fevrier
 
:mars
SET JOUR=1
SET MOISCOURRIER="03 Mars "%ANNEE%
SET MOIS="Mars"
Echo Mois %Mois%
 
:boucle_mars
IF "%JOUR%"=="32" GOTO avril
if %JOUR% lss 10 (set JOUR2=0%JOUR%) else (set JOUR2=%JOUR%)
mkdir %PATH%\%ANNEE%\%MOISCOURRIER%\%MOIS%" "%JOUR2%"-"%ANNEE%
SET /A JOUR=JOUR+01
GOTO boucle_mars
 
:avril
SET JOUR=1
SET MOISCOURRIER="04 Avril "%ANNEE%
SET MOIS="Avril"
Echo Mois %Mois%
 
:boucle_avril
IF "%JOUR%"=="31" GOTO mai
if %JOUR% lss 10 (set JOUR2=0%JOUR%) else (set JOUR2=%JOUR%)
mkdir %PATH%\%ANNEE%\%MOISCOURRIER%\%MOIS%" "%JOUR2%"-"%ANNEE%
SET /A JOUR=JOUR+1
GOTO boucle_avril
 
:mai
SET JOUR=1
SET MOISCOURRIER="05 Mai "%ANNEE%
SET MOIS="Mai"
Echo Mois %Mois%
 
:boucle_mai
IF "%JOUR%"=="32" GOTO juin
if %JOUR% lss 10 (set JOUR2=0%JOUR%) else (set JOUR2=%JOUR%)
mkdir %PATH%\%ANNEE%\%MOISCOURRIER%\%MOIS%" "%JOUR2%"-"%ANNEE%
SET /A JOUR=JOUR+01
GOTO boucle_mai
 
:juin
SET JOUR=1
SET MOISCOURRIER="06 Juin "%ANNEE%
SET MOIS="Juin"
Echo Mois %Mois%
 
:boucle_juin
IF "%JOUR%"=="31" GOTO juillet
if %JOUR% lss 10 (set JOUR2=0%JOUR%) else (set JOUR2=%JOUR%)
mkdir %PATH%\%ANNEE%\%MOISCOURRIER%\%MOIS%" "%JOUR2%"-"%ANNEE%
SET /A JOUR=JOUR+1
GOTO boucle_juin
 
:juillet
SET JOUR=1
SET MOISCOURRIER="07 Juillet "%ANNEE%
SET MOIS="Juillet"
Echo Mois %Mois%
 
:boucle_juillet
IF "%JOUR%"=="32" GOTO aout
if %JOUR% lss 10 (set JOUR2=0%JOUR%) else (set JOUR2=%JOUR%)
mkdir %PATH%\%ANNEE%\%MOISCOURRIER%\%MOIS%" "%JOUR2%"-"%ANNEE%
SET /A JOUR=JOUR+1
GOTO boucle_juillet
 
:aout
SET JOUR=1
SET MOISCOURRIER="08 Aout "%ANNEE%
SET MOIS="Aout"
Echo Mois %Mois%
 
:boucle_aout
IF "%JOUR%"=="32" GOTO septembre
if %JOUR% lss 10 (set JOUR2=0%JOUR%) else (set JOUR2=%JOUR%)
mkdir %PATH%\%ANNEE%\%MOISCOURRIER%\%MOIS%" "%JOUR2%"-"%ANNEE%
SET /A JOUR=JOUR+1
GOTO boucle_aout
 
:septembre
SET JOUR=1
SET MOISCOURRIER="09 Septembre "%ANNEE%
SET MOIS="Septembre"
Echo Mois %Mois%
 
:boucle_septembre
IF "%JOUR%"=="31" GOTO octobre
if %JOUR% lss 10 (set JOUR2=0%JOUR%) else (set JOUR2=%JOUR%)
mkdir %PATH%\%ANNEE%\%MOISCOURRIER%\%MOIS%" "%JOUR2%"-"%ANNEE%
SET /A JOUR=JOUR+1
GOTO boucle_septembre
 
:octobre
SET JOUR=1
SET MOISCOURRIER="10 Octobre "%ANNEE%
SET MOIS="Octobre"
Echo Mois %Mois%
 
:boucle_octobre
IF "%JOUR%"=="32" GOTO novembre
if %JOUR% lss 10 (set JOUR2=0%JOUR%) else (set JOUR2=%JOUR%)
mkdir %PATH%\%ANNEE%\%MOISCOURRIER%\%MOIS%" "%JOUR2%"-"%ANNEE%
SET /A JOUR=JOUR+1
GOTO boucle_octobre
 
:novembre
SET JOUR=1
SET MOISCOURRIER="11 Novembre "%ANNEE%
SET MOIS="Novembre"
Echo Mois %Mois%
 
:boucle_novembre
IF "%JOUR%"=="31" GOTO decembre
if %JOUR% lss 10 (set JOUR2=0%JOUR%) else (set JOUR2=%JOUR%)
mkdir %PATH%\%ANNEE%\%MOISCOURRIER%\%MOIS%" "%JOUR2%"-"%ANNEE%
SET /A JOUR=JOUR+1
GOTO boucle_novembre
 
:decembre
SET JOUR=1
SET MOIScourrier="12 Decembre "%ANNEE%
SET MOIS="Decembre"
Echo Mois %Mois%
 
:boucle_decembre
IF "%JOUR%"=="32" GOTO sortie
if %JOUR% lss 10 (set JOUR2=0%JOUR%) else (set JOUR2=%JOUR%)
mkdir %PATH%\%ANNEE%\%MOISCOURRIER%\%MOIS%" "%JOUR2%"-"%ANNEE%
SET /A JOUR=JOUR+1
GOTO boucle_decembre
 
:sortie
 
IF %anneefin%==%annee% GOTO end
SET /A annee=annee+1
GOTO boucle_annee
 
:end
pause

n°2294182
Je@nb
Kindly give dime
Posté le 01-01-2017 à 13:53:10  profilanswer
 

faudrait penser à faire du powershell, ce serait réglé en une ligne :/


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Compteur année mois jours batch

 

Sujets relatifs
Code compteur de présence en PHP[BATCH MS-DOS] Code retour ERRORLEVEL différent suivant mode lancement
[Shell/Batch] Exécuter une commande sur plusieurs serveurs[Batch] Lancer un application avec control
Modification page de démarrage navigateurs internet en batchSript Batch comparaison de 2 ip
[batch] renommer fichier[Batch] création du'une tache via fichier .xml
Pause Script Batch 
Plus de sujets relatifs à : Compteur année mois jours batch


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR