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

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [BATCH] DIR d'un seul sous-dossier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[BATCH] DIR d'un seul sous-dossier

n°2008820
hypershade
No shades in the dark
Posté le 12-07-2010 à 10:15:29  profilanswer
 

Bonjour  :)

 

J'ai un arborescence du type :

 

Dossier 1
-- Sous dossier 1

 

Dossier 2
-- Sous dossier 2

 

etc...

 

Mon Dossier 1 et mon sous dossier 1 ont le même nom.

 

Ce que je souhaite faire c'est faire un dir de seulement des dossiers et du premier sous dossier et récupérer la dernière date d'écriture.

 

En cherchant sur le net j'avais trouvé un code qui, dans une boucle, effectuait cette manipulation et l'écrivait dans un fichier texte grace à " > "
Mais comme il était dans la boucle je n'obtenais que les infos du dernier dossiers.

 

Quelqu'un saurait-il comment faire si cela est possible en batch.  :??:

 

Merci d'avance :jap:


Message édité par hypershade le 12-07-2010 à 10:16:20

---------------
Hypershade's Gallery
mood
Publicité
Posté le 12-07-2010 à 10:15:29  profilanswer
 

n°2008871
ngkreator
Posté le 12-07-2010 à 17:01:38  profilanswer
 

C'est pas très clair pour moi. Tu connais le nom du 1er "sous dossier" à l'avance? Parce que dans ce cas:

Code :
  1. dir /ad "Dossier 1" | find "Sous dossier 1"


Te donnera la ligne contenant entre autre la date de création de "sous dossier 1".

 

Mais avec plus de précision je pourrai mieux t'aider.


Message édité par ngkreator le 12-07-2010 à 17:02:48
n°2009069
hypershade
No shades in the dark
Posté le 13-07-2010 à 20:28:06  profilanswer
 

Pas bête !
 
Le mieux ca serait même de stocker le nom du dossier parent dans une variable puis de faire le find de la même variable puis de stocker chaque info retournée dans un fichier texte.
 
Je teste ca lundi prochain et je te dit.
 
Merci :)


---------------
Hypershade's Gallery
n°2010408
hypershade
No shades in the dark
Posté le 20-07-2010 à 15:20:46  profilanswer
 

Ngkreator, ta petite ligne m'aide beaucoup merci :)
 
Cependant elle sort le résultat sous cette forme :
 
 R‚pertoire de xxxxxxxx
26/01/2010  16:59    <REP>          xxxxxxxxx
 
Comment n'afficher que  
 
26/01/2010  16:59    <REP>          xxxxxxx
 
??
 
merci d'avance :)


---------------
Hypershade's Gallery
n°2010414
aigles
Posté le 20-07-2010 à 15:49:51  profilanswer
 

Ceci devrait faire l'affaire :

Code :
  1. DIR /AD "Dossier 1" | FINDSTR /R /C:"<REP> * Dossier 1$"


 
Jean-Pierre.

n°2010602
hypershade
No shades in the dark
Posté le 21-07-2010 à 11:37:42  profilanswer
 

Merci aigle ca marche comme je voulais.
 
L'autre problème que je rencontre c'est que si dans L:\Dossier1\Sous-Dossier1\ Sous-Sous-Dossier\j'ai des fichiers ecrits ce jour et d'autres non, bah la date de dernière écriture de Sous-Dossier 1 et Dossier ne sont pas mis à jour.
 
Je ne peux donc pas savoir quelle est la dernière date de sauvegarde du profil sauf si je scanne tous les sous dossier de chaque profils et que je fait je sors la date d'écriture la plus récente parmi tous les fichiers.
 
Je me demande si ce que je dois faire est vraiment faisable de cette manière. le batch a ses limites :(


---------------
Hypershade's Gallery
n°2012635
Xspawn_Lpc
Posté le 28-07-2010 à 18:25:20  profilanswer
 

et un double for pourrait aussi t'aider  
 
for /f "tokens=*" %i in ('dir /ad /b ') do @dir /ad /b "%i"
 
Par contre le batch n'est pas adapté pour la gestion des dates.
 
nb : s'il s'agit de profils windows, tu peut checker le fichier user.dat


---------------
Quand on aime on ne compte pas. Quel Dilemme lorsque l'on aime compter !
n°2044556
hypershade
No shades in the dark
Posté le 27-12-2010 à 14:38:04  profilanswer
 

Salut :hello:
 
Petite question, je fais un dir d'un fichier qui porte le même nom dans plusieurs dossiers.
%a est égal au dossier concerné dans ma boucle (qui parcourt tous les dossiers).
rsycnlog.txt est le fichier dont je souhaite obtenir la date.
 
Voilà la structure
 
Dossier profils
|
|_ Dossier user 1
    |_ Rsynclog.txt
|_ Dossier user 2
    |_ Rsynclog.txt
|_ Dossier user 3
|   |_ Rsynclog.txt
|
|_ Dossier User n
     |_ Rsynclog.txt
 
 
 
 
 
Ma boucle va parcourir chaque sous dossier et je voudrais que la sortie de ma commande soit au format :
 
Dossier User 1   Rsynclog.txt      27/12/2010    13:54
Dossier User 2   Rsynclog.txt      25/12/2010    09:36
Etc...
 
 
 
 
Aujourd'hui ma commande est la suivante
 
For /F %a in (C:\liste_user) do dir /t:w /Dossier/Dossier_user/rsynclog.txt
 
Volume in drive C: is Profils
Volume Serial Number is XXXX-XXXX
 
Directory of  /Dossier/Dossier_User/
 
27/12/2010 13:54     2,654 Rsynclog.txt
          1 File(s)        2,654 bytes
          0 Dir(s)      32,263,265 bytes free
 
 
 
 
Puis-je formater ma sortie de facon a ce qu'elle ressemble ou s'approche du format que je souhaite?
 
Merci d'avance pour vos propositions et/ou solution :jap:


---------------
Hypershade's Gallery
n°2044560
Xspawn_Lpc
Posté le 27-12-2010 à 14:44:59  profilanswer
 

faisable oui, mais relou.
 
batch n'est vraiment pas l'idéal dès veut récup les infos des fichiers (taille, date,...)
 
dir /s  Rsynclog.txt | find "Rsynclog.txt " peut être
 
Sinon faut jongler avec 2 boucles : l'une sur les fichiers et l'autre sur le résultat de la commande.


---------------
Quand on aime on ne compte pas. Quel Dilemme lorsque l'on aime compter !
n°2044572
hypershade
No shades in the dark
Posté le 27-12-2010 à 15:27:10  profilanswer
 

Bonne idée sauf que comme ce sont des profils utilisateurs y'a des centaines de sous-dossiers donc la commande met trop de temps :(


---------------
Hypershade's Gallery
mood
Publicité
Posté le 27-12-2010 à 15:27:10  profilanswer
 

n°2044675
Xspawn_Lpc
Posté le 27-12-2010 à 19:55:22  profilanswer
 

alors un truc du genre :
 
for /f %i in ('dir /b ') do dir %i\Rsynclog.txt | find "Rsynclog.txt
 
mais t'auras pas le répertoire du coup.
 


---------------
Quand on aime on ne compte pas. Quel Dilemme lorsque l'on aime compter !

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

  [BATCH] DIR d'un seul sous-dossier

 

Sujets relatifs
Nom domaine + dossierSuppression d'entrées dans le PATH en batch !!
Listing dossier en vbs[AC-2007]Affichage de tous les résultats d'une requête dans un seul ch
[Batch] Une condition qui n'est pas vérifiéeProblème tweenlite - dossier GS
batch msdos et port sérieGros soucis ! element modifié tout seul alors que je ne veux pas!
fichier batch[Résolu] Création de dossier et fichier impossible
Plus de sujets relatifs à : [BATCH] DIR d'un seul sous-dossier


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