Batch : lister noms de ficheirs sans extensio
Résolu
A voir également:
- Batch : lister noms de ficheirs sans extensio
- Fichier batch - Guide
- Batch converter - Télécharger - Photo & Graphisme
- Batch renommer une partie du nom de plusieurs fichiers ✓ - Forum Autoit / batch
- Renommer tous les fichiers d'un dossier - Forum Windows
- Color batch - Forum Autoit / batch
4 réponses
Bonjour,
Il est possible de faire cette opération de façon plus élégante et surtout plus certaine :
@ECHO OFF
DEL liste.txt
FOR /F %%I IN ('DIR .\dossier\*.ext /B /O n') DO ECHO %%~nI >> liste.txt
En effet, l'option de format ~n permet de n'avoir que le nom de fichier sans l'extension.
Le problème de la méthode précédente est que si le nom de fichier contient un "." (par exemple : "fichier.avec.des.points.ext", le nom du fichier sera tronqué (il ne restera que "fichier" dans l'exemple précedent).
J'espère que cela servira à certains.
Cordialement,
Tym
Il est possible de faire cette opération de façon plus élégante et surtout plus certaine :
@ECHO OFF
DEL liste.txt
FOR /F %%I IN ('DIR .\dossier\*.ext /B /O n') DO ECHO %%~nI >> liste.txt
En effet, l'option de format ~n permet de n'avoir que le nom de fichier sans l'extension.
Le problème de la méthode précédente est que si le nom de fichier contient un "." (par exemple : "fichier.avec.des.points.ext", le nom du fichier sera tronqué (il ne restera que "fichier" dans l'exemple précedent).
J'espère que cela servira à certains.
Cordialement,
Tym
Essaye sa
Tien moi au courant !
Bilou.
@echo off for /f "tokens=1 delims=." %%i in ('dir .\dossier\*.ext /b /o n') do echo %%i >liste.txt
Tien moi au courant !
Bilou.
Merci bcp après une légère modif j'ai obtenu ce que je voulais :
@echo off
del liste.txt
for /f "tokens=1 delims=." %%i in ('dir .\dossier\*.ext /b /o n') do echo %%i >>liste.txt
Le code précédent listait les fichiers dans liste.txt mais en écrasant à chaque fois du coup à la fin je n'avais qu'un nom dans liste.txt (le dernier de la liste)
en rajoutant >> à la place de > j'avais tous les noms mais si je relancais le batch cela me relistait les ficheirs déjà présents d'où le rajout d'un petit del pr effacer le fiochier avant d'en créer un nouveau.
Encore merci pr ton aide précieuse
@echo off
del liste.txt
for /f "tokens=1 delims=." %%i in ('dir .\dossier\*.ext /b /o n') do echo %%i >>liste.txt
Le code précédent listait les fichiers dans liste.txt mais en écrasant à chaque fois du coup à la fin je n'avais qu'un nom dans liste.txt (le dernier de la liste)
en rajoutant >> à la place de > j'avais tous les noms mais si je relancais le batch cela me relistait les ficheirs déjà présents d'où le rajout d'un petit del pr effacer le fiochier avant d'en créer un nouveau.
Encore merci pr ton aide précieuse