[BATCH] lister dossier par date de creation
Résolu
korbenz
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
je fais appel a votre aide étant donne que je suis coincé dans mon script.
- L'objectif:
il s'agit de classer par ordre chronologique des dossiers selon leur date de création sur un lecteur reseau (Y:)
- le contexte:
Chaque jour des dossiers sont crées dans ce lecteur réseau. Chaque dossier a pour nom la date du jour, qui donne l'arborescence suivante :
- Quotidien/NomDuQuotidien/DateDuJour
- Hebdomadaire/NomHebdomadaire/DateDuJour
- Mensuel/NomduMensuel/DateDuJour
- etc...
---
tout d'abord j'extrais jour mois année de la commande date afin de l'exploiter selon mes besoins
for /F "tokens=1,2,3 delims=/ " %%i in ('date /t') do (set "day=%%i" & set "month=%%j" & set "year=%%k")
set year=%year:20=%
qui me donnera par la suite la date sous le bon format, par exemple: 090128 (date du jour au format aammjj)
Ensuite, je liste tous les dossiers sur Y: ayant la date du jour et j'envoi dans un fichier, ici %file1%:
dir Y: /s /tc | findstr %year%%month%%day% > %file1%
Voici un extrait du fichier:
28/01/2009 14:32 <DIR> 090128
Directory of Y:\Daily\Evening Herald\090128
28/01/2009 07:13 <DIR> 090128
Directory of Y:\Daily\Herald AM\090128
28/01/2009 07:12 <DIR> 090128
Directory of Y:\Daily\Metro\090128
28/01/2009 10:15 <DIR> 090128
Directory of Y:\Daily\Racing Post\090128
27/01/2009 08:38 <DIR> 090128
Directory of Y:\NI_Publications\Ballyclare Gazette\090128
L'idée du script serait donc au mieux de faire un fichier avec ce résultat :
07:12 - Y:\Daily\Metro\090128
07:13 - Y:\Daily\Herald AM\090128
08:38 - Y:\NI_Publications\Ballyclare Gazette\090128
10:15 - Y:\Daily\Racing Post\090128
14:32 - Y:\Daily\Evening Herald\090128
ce qui serai plus simple est ce que la date et le chemin soit sur la même ligne, ce qui me permettrai plus facilement de faire le traitement vis a vis de l'heure par exemple mais je ne trouve pas le moyen pour obtenir ce résultat.
Je suis ouvert a toute vos suggestions, si possible en langage batch (msdos), sinon au pire en shell (linux)
Merci de votre aide
je fais appel a votre aide étant donne que je suis coincé dans mon script.
- L'objectif:
il s'agit de classer par ordre chronologique des dossiers selon leur date de création sur un lecteur reseau (Y:)
- le contexte:
Chaque jour des dossiers sont crées dans ce lecteur réseau. Chaque dossier a pour nom la date du jour, qui donne l'arborescence suivante :
- Quotidien/NomDuQuotidien/DateDuJour
- Hebdomadaire/NomHebdomadaire/DateDuJour
- Mensuel/NomduMensuel/DateDuJour
- etc...
---
tout d'abord j'extrais jour mois année de la commande date afin de l'exploiter selon mes besoins
for /F "tokens=1,2,3 delims=/ " %%i in ('date /t') do (set "day=%%i" & set "month=%%j" & set "year=%%k")
set year=%year:20=%
qui me donnera par la suite la date sous le bon format, par exemple: 090128 (date du jour au format aammjj)
Ensuite, je liste tous les dossiers sur Y: ayant la date du jour et j'envoi dans un fichier, ici %file1%:
dir Y: /s /tc | findstr %year%%month%%day% > %file1%
Voici un extrait du fichier:
28/01/2009 14:32 <DIR> 090128
Directory of Y:\Daily\Evening Herald\090128
28/01/2009 07:13 <DIR> 090128
Directory of Y:\Daily\Herald AM\090128
28/01/2009 07:12 <DIR> 090128
Directory of Y:\Daily\Metro\090128
28/01/2009 10:15 <DIR> 090128
Directory of Y:\Daily\Racing Post\090128
27/01/2009 08:38 <DIR> 090128
Directory of Y:\NI_Publications\Ballyclare Gazette\090128
L'idée du script serait donc au mieux de faire un fichier avec ce résultat :
07:12 - Y:\Daily\Metro\090128
07:13 - Y:\Daily\Herald AM\090128
08:38 - Y:\NI_Publications\Ballyclare Gazette\090128
10:15 - Y:\Daily\Racing Post\090128
14:32 - Y:\Daily\Evening Herald\090128
ce qui serai plus simple est ce que la date et le chemin soit sur la même ligne, ce qui me permettrai plus facilement de faire le traitement vis a vis de l'heure par exemple mais je ne trouve pas le moyen pour obtenir ce résultat.
Je suis ouvert a toute vos suggestions, si possible en langage batch (msdos), sinon au pire en shell (linux)
Merci de votre aide
A voir également:
- [BATCH] lister dossier par date de creation
- Dossier appdata - Guide
- Creation de compte google - Guide
- Creation de site web - Guide
- Creation compte gmail - Guide
- Impossible de supprimer un dossier - Guide
6 réponses
j'ai deja pense a faire un dir /od mais le seul soucis c'est que la commande list tous les repertoires du lecteur sans prise en compte du dossier du jour.
En faisant dir /od /s | findstr "090128" ca me renvoi au meme probleme, cad que jai deja, cad le resultat sur 2 lignes
extrait:
Y:\>dir /od /s | findstr "090128"
28/01/2009 14:32 <DIR> 090128
Directory of Y:\Daily\Evening Herald\090128
28/01/2009 07:14 <DIR> 090128
Directory of Y:\Daily\Herald AM\090128
28/01/2009 07:13 <DIR> 090128
Directory of Y:\Daily\Metro\090128
28/01/2009 10:16 <DIR> 090128
Directory of Y:\Daily\Racing Post\090128
^C
Y:\>
merci de votre aide
En faisant dir /od /s | findstr "090128" ca me renvoi au meme probleme, cad que jai deja, cad le resultat sur 2 lignes
extrait:
Y:\>dir /od /s | findstr "090128"
28/01/2009 14:32 <DIR> 090128
Directory of Y:\Daily\Evening Herald\090128
28/01/2009 07:14 <DIR> 090128
Directory of Y:\Daily\Herald AM\090128
28/01/2009 07:13 <DIR> 090128
Directory of Y:\Daily\Metro\090128
28/01/2009 10:16 <DIR> 090128
Directory of Y:\Daily\Racing Post\090128
^C
Y:\>
merci de votre aide
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question