Rechercher : dans
Par :

[BATCH] lister dossier par date de creation

Dernière réponse le 3 fév 2009 à 15:33:54 korbenz, le 29 jan 2009 à 16:04:21 
 Signaler ce message aux modérateurs

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

Configuration: Windows XP
Firefox 3.0.5

Meilleures réponses pour « [BATCH] lister dossier par date de creation » dans :
Listes déroulantes simples avec Excel Voir Dans votre tableau, vous souhaitez insérer un texte ou une valeur choisi dans une liste (déroulante). vous créez votre liste, ligne aprés ligne, sur votre feuille en cours ou sur une autre feuille du classeur en cours. vous la nommez : INSERTION...
[Windows] Obtenir la liste des fichiers d'un dossier VoirLister le contenu d'un dossier Voici une astuce simple qui permet de lister le nom des fichiers contenus dans un répertoire. Vous pourrez obtenir en un clic les titres de vos chansons, de vos photos, etc. dans un fichier...
[MS-Dos] Lister le contenu d'un répertoire dans un fichier VoirIl peut s'avérer pratique d'effectuer le listage d'un ou plusieurs répertoires dans un fichier, afin de tenir par exemple un catalogue de fichiers. Sous MS-Dos (ou sous Windows en ouvrant une fenêtre d'invite de commande MS-Dos) il est possible...
Travailler sur les dates avec Excel VoirVous avez une date en C3 par exemple, et vous voulez connaitre : le N° de la semaine correspondant à cette date : = NO.SEMAINE(C3;2) Nota : 2 correspond à un système de semaines commençant le Lundi, et 1 pour le Dimanche. ...
Télécharger Personal Mailing List VoirPour vous aider à garder la trace de vos clients ou les membres de vos équipes, Personal Mailing List a été crée pour vous. Personal Mailing List est un carnet d’adresse conçu pour vous permettre de stocker les renseignements sur vos contacts...
SQL - Création de table VoirLe SQL, comportant un langage de définition de données (LDD), permet de créer des tables. Pour cela, il utilise le couple de mots clés CREATE TABLE. La création de tables Le création de tables se fait à l'aide du couple de mots-clés CREATE...
Histoire d'Internet VoirL'idée révolutionnaire En 1962, alors que le communisme faisait force, l'US Air Force demande à un petit groupe de chercheurs de créer un réseau de communication militaire capable de résister à une attaque nucléaire. Le concept de ce réseau...
Le protocole FTP (File Transfer Protocol) VoirIntroduction au protocole FTP Le protocole FTP (File Transfer Protocol) est, comme son nom l'indique, un protocole de transfert de fichier. La mise en place du protocole FTP date de 1971, date à laquelle un mécanisme de transfert de...

1

HH59, le 29 jan 2009 à 17:12:34

Salut,
Essaye déjà une commade "dir -od" qui classe dans l'ordre par date de création

Répondre à HH59

2

korbenz, le 29 jan 2009 à 17:36:52

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

Répondre à korbenz

3

HH59, le 29 jan 2009 à 17:50:34

Essaie peut-être le dir /b qui te donne moins de détail ...

Répondre à HH59

4

korbenz, le 29 jan 2009 à 17:59:29

Malheureusement le /b ne renvoi que le chemin, et j'ai surtout besoin de l'heure de creation

extrait:

Y:\>dir /tc /ad /s /b | findstr "090128"
Y:\Daily\Evening Herald\090128
Y:\Daily\Herald AM\090128
Y:\Daily\Metro\090128
Y:\Daily\Racing Post\090128
^C
Y:\>

Répondre à korbenz

5

 korbenz, le 3 fév 2009 à 15:33:54

J'ai resolu mon probleme

merci de votre aide

Répondre à korbenz