BAT qui renvoie tous les noms de fichier d'un repertoires

Fermé
Pro445 - Modifié par Pro445 le 18/06/2014 à 11:07
jeannets Messages postés 26771 Date d'inscription dimanche 9 septembre 2007 Statut Contributeur Dernière intervention 24 avril 2024 - 19 juin 2014 à 16:47
Bonjour,

Je voudrait créer un fichier BAT qui renvoi le nom de tous les fichiers d'un dossier précis.

Actuellement j'ai créer un dossier "TEST", et à l'intérieur de ce dossier il y a 5 fichiers .txt :
TEST.txt / TEST2.txt / TEST3.txt / TEST4.txt / TEST5.txt

Voila mon script actuel :


@echo off

for /r "c:\TEST\" %%i in ("*") do set VrTest=%%~nxi
echo %VrTest%:%VrTest%


Actuellement ce script, me renvoi le nom du dernier fichier crée : TEST5.txt

Je voudrait qu'il me renvoie le nom de tous les fichiers.

Merci d'avance.
A voir également:

9 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
18 juin 2014 à 11:11
hello
echo est en dehors de la boucle for, utiliser ()
@echo off
for /r "c:\TEST\" %%i in ("*") do (
set VrTest=%%~nxi
echo %VrTest%:%VrTest%
)
0
alexdu17200 Messages postés 1282 Date d'inscription mardi 4 juin 2013 Statut Membre Dernière intervention 7 mars 2016 834
Modifié par alexdu17200 le 18/06/2014 à 11:16
Salut, j'estime que la commande ls/dir (en fonction de ton OS) correspond mieux, dans ton bat, tu peux utiliser dir /A chemin_absolu ou un basique ls
0
Merci pour vos réponses.

J'ai un soucis j'utilise ce script sur un logiciel de supervision "PRTG".

Avec ce script :

@echo off

for /r "c:\TEST\" %%i in ("*.txt") do set VrTest=%%~nxi
echo %VrTest%:%VrTest%

Le logiciel de supervision me renvoie que le nom du dernier fichier créer dans le dossier.

Avec cette version du scipte :

@echo off
for /r "c:\TEST\" %%i in ("*") do (
set VrTest=%%~nxi
echo %VrTest%:%VrTest%
)

Le logiciel de supervision me renvoie la valeur "OK" et non le nom des 5 fichiers.

je suis novice en BATCH et je galère un peu la

PS : Je suis sous WINDOWS
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
Modifié par dubcek le 18/06/2014 à 12:21
on ne sait pas comment PRTG traite les sorties du script
essayer
@echo off
setlocal enabledelayedexpansion
for /r "c:\TEST\" %%i in ("*") do (
set VrTest=%%~nxi
echo !VrTest!:!VrTest!
)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jeannets Messages postés 26771 Date d'inscription dimanche 9 septembre 2007 Statut Contributeur Dernière intervention 24 avril 2024 5 767
18 juin 2014 à 22:59
Bonsoir,

ça marche... et je suis interessé... pour sortir les Fichiers par dossiers..

Mais ici, il sort tous les fichiers; y compris ceux des sous dossiers..

Que faut-il faire pour qu'il se limite au dossier désigné seulement...?

Merci d'avance.
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
19 juin 2014 à 08:11
c'est le /r qui traite les sous dossiers, essayer
@echo off
setlocal enabledelayedexpansion
for %%i in (C:\TEST\*.*) do (
set VrTest=%%~nxi
echo !VrTest!:!VrTest!
)
0
jeannets Messages postés 26771 Date d'inscription dimanche 9 septembre 2007 Statut Contributeur Dernière intervention 24 avril 2024 5 767
19 juin 2014 à 11:21
Hello,

Merci, ça marche, il ne reste qu'à ajouter le renvoi pour en faire un fichier texte

@echo off
setlocal enabledelayedexpansion
for %%i in (C:\TEST\*.*) do (
set VrTest=%%~nxi
echo !VrTest!
) >> catalog.txt

j'ai aussi retiré le dernier VrTest pour ne pas avoir deux fois la même ligne..

Mais, c'est impécable... et les utilitaires qui font ça proprement, ne sont pas légion.

Merci encore

A+++
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
19 juin 2014 à 12:29
tout cela est équivalent à
dir /b C:\TEST\*.* > catalog.txt 
0
jeannets Messages postés 26771 Date d'inscription dimanche 9 septembre 2007 Statut Contributeur Dernière intervention 24 avril 2024 5 767
19 juin 2014 à 16:47
Re,

A mon avis, oui, ça fait la même chose...En tout cas, pour ce que je veux faire.

Je dois dire que je n'avais pas pensé à l'option /b.

Merci pour la coopération.
0