Affichage fichier dans répertoire - Shell/Batch - Programmation
Marsh Posté le 29-10-2013 à 09:10:33
Il manque le contexte.
Néanmoins, j'ai testé :
dir /s |
Cela ramène la liste des répertoires et des fichiers, avec des lignes récapitulatives.
dir /s|find "/" |
Cela ramène la liste des répertoires et des fichiers.
dir /s |find "/"|findstr /V "<REP>" |
Cela ramène la liste des fichiers.
L'option /V de findstr permet de trouver tout sauf les lignes contenant la chaine qui est indiquée.
Marsh Posté le 29-10-2013 à 10:14:57
Merci pour ta réponse olivthill.
Le contexte, c'est lister l'ensemble des fichiers de plusieurs répertoires et sous répertoires pour ensuite les supprimer par rapport à une date donnée.
Le tout est transcrit dans une log. Ce qui m'ennuie, c'est que lorsque le script tombe sur une répertoire vide, la commande renvoie "Fichier introuvable".
Sachant qu'il y a des milliers de répertoires, ça pourrit les logs.
Marsh Posté le 29-10-2013 à 10:58:17
Je n'arrive pas à tester parce que ta commande me renvoie "%%a était inattendu."
Par ailleurs, quand je fais un dir /s, je ne vois jamais de message "fichier introuvable".
Mais, je suis à peu près certain que l'ajout de findstr /V "quelquechose" résoudra le problème.
Je ferais :
for /f "tokens=1-3,5,* delims=/s " %%a in ('dir /a-d /s %chemin%\%dossier%^|find "/"|findstr /V "<REP>"|findstr /V "fichier introuvable"') do (echo %%e) |
ou
for /f "tokens=1-3,5,* delims=/s " %%a in ('dir /a-d /s %chemin%\%dossier%^|find "/"|findstr /V "<REP>"') do (echo %%e|findstr /V "fichier introuvable" ) |
Marsh Posté le 29-10-2013 à 11:29:01
Si tu teste directement sous une fenêtre DOS, c'est normal, il faut que mette qu'un "%" au la place des deux "%%" dans un .bat ou .cmd.
Par contre il y a une petite erreur dans ta commande au niveau des find :
Code :
|
Par contre j'ai testé les deux solutions et aucune ne fonctionne malheureusement !
Marsh Posté le 28-10-2013 à 16:50:52
Bonjour,
Dans une ligne de commande d'un de mes scripts, j'aimerai lister des fichiers de plusieurs répertoires et sous répertoires.
Voici le code en question :
for /f "tokens=1-3,5,* delims=/s " %%a in ('dir /a-d /s %chemin%\%dossier%^|find "/"') do (echo %%e)
La ligne de commande fonctionne très bien ! Par contre dès que le répertoire est vide, il y a "fichier introuvable" d'inscrit à l'écran, ce qui est très gênant.
Est-ce que quelqu'un aurait une idée svp pour éviter cela ?
Merci d'avance.