Limiter la commande Dir sous dos

Signaler
Messages postés
4
Date d'inscription
mardi 10 novembre 2009
Statut
Membre
Dernière intervention
12 janvier 2011
-
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
-
Bonjour,

Voici mon souci:
Je souhaite faire une recherche de fichier toute simple en batch Dos en utilisant la commande dir.
En admettant que j'ai des fichiers avec pour extension ".txt" et ".txt01", je voudrais limiter la recherche au extentions ".txt".

Or les commandes suivantes:
dir *.txt
dir *.tx?

me renvoies systématiquement les fichiers ".txt" et ".txt01".

Quelqu'un a t il une solution pour limiter la recherche de dir?

Cordialement.

3 réponses

Messages postés
1466
Date d'inscription
vendredi 2 janvier 2004
Statut
Modérateur
Dernière intervention
14 février 2014
1
salut,

Il semble que l'extention soit mal vérifiée par le pattern de la commande.

La seule solution que j'ai pu envisager serait de supprimer l'extention en remplaçant le point par un autre caractère:

file_txt
file_txt01

@++
Messages postés
4
Date d'inscription
mardi 10 novembre 2009
Statut
Membre
Dernière intervention
12 janvier 2011

Bonjour,

Après quelques essais, le probleme vient de la gestion des noms court (8.3) et long (Windows).

En fait les fichiers sous Windows 0000.txt reste 0000.txt sous DOS.
En revanche un fichier 0000.text01 sous Win devient 0000~1.txt sous DOS.

Comme la commande DIR ne traite les fichiers qu'avec leur nom court, on voit tout les fichiers comme des fichiers ".txt".

De plus je ne peux pas renommer les fichiers concerner car en partage sur un serveur. Je n'ai donc toujours pas de moyen de contourner ce probleme.

En espérant avoir été clair....

Cordialement.
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
13
Bonjour,

Amusant ça. Une solution de contournement peut être un filtrage des résultat à la main.
for /F %I IN ('dir /B *.txt') DO if "%~xI"==".txt" echo %I