Bonjour à tous,
voila je souhaite créer un fichier “.bat” m’affichant tous les sous-dossiers et fichiers contenus dans un répertoire.
Jusqu’à présent, j’utilisais directement:
dir > nomfichier.txt
Ce qui m’affichait tous les fichiers d’un répertoire.
Mais je ne sais pas faire pour un dossier contenant plusieurs sous-dossiers, et c’est ce que je souhaiterais faire.
Je voulais utiliser “tree”, ce qui est bien car c’est indenter, mais il n’y a pas le contenu des répertoires dessus, et de plus, c’est pas tip-top car il y a problème d’encodage de caractères avec Windows pour les accents et caractères spéciaux
Alors si vous avez une solution pour moi ça serait sympa
Ah, c’est déjà mieux, merci (il faudrait que jette un coup d’il sur le man du cmd plus souvent )
ET pour les accents “é”, c’est pas gérable ? car ils sont remplacés par une virgule sous Windows, il y a un moyen de les conserver ?
Pour une autre présentation de ton résultat, essaie DIR /B /S
Et pour visionner sous windows, essaie Notepad avec la police System, normalement tu devrais retrouver tes caractères accentués tels que tu les vois en mode console
Je suppose que les virgules sont déjà dues à une “conversion” d’un nom parfaitement lisible sous windows ?
Tu peux donner deux ou trois lignes d’exemple ?
avec le nom d’origine du fichier sous windows,
la manière dont tu le retrouves dans nomfichier.txt
ce que ca donne au final quand tu revisualises sous windows
Par exemple, j’ai des dossiers nommés avec des accents, du genre “testé”…
Sur la boite DOS, je vois bien le nom des dossiers, fichiers avec leur accent, et je peux facilement y accéder avec la commande du type:
cd nom_répertoire_accent
Mais lorsque j’utilise le fichier batch pour rediriger la sortie vers un fichier texte:
dir /b /s > liste.txt
Et bien le contenu du fichier texte se retrouve avec les virgules au lieu d’avoir les ‘é’
Par exemple, le contenu du texte visualisé sous Notepad aura un truc du genre ceci:
E:\test,\dossier_accentu,\t,l,vision.txt
je sais pas si cela est du à un mauvais encodage de caractères, si il faut les changer…
Le plus étonnant, ce n’est pas que ton caractère accentué se transforme en virgule dans le fichier de redirection, c’est qu’il soit lisible au moment du DIR, parce que le codage des caractères accentués n’est pas le même en ASCII (Dos) et en ANSI(Windows).
Je ne suis d’ailleurs pas sûr que ce soit une “vraie” virgule
Là tu n’as pas trop de solution, sauf à faire la manoeuvre inverse, à savoir remplacer sous Dos ta “virgule” par le “é” windows dans le contenu du fichier (avec un Sed par exemple)
EDIT: Tu as raison, je pense aussi que ce n’est pas une vraie virgule, mais ça ressemble exactement à une virgule tapée sur clavier.
De toute façon, je vais procéder à un remplacement de ce caractère.
A mes connaissances, le sed n’est disponible que sous Unix.
Ou sinon, on peut bien le faire avec un éditeur avancé du genre Notepad++ sous Windows, avec la fonction “remplacer”.
Merci à tous pour votre aide, c’est résolu
Edité le 26/05/2008 à 21:46
Bon à savoir : le fichier liste.txt peut être ouvert dans excel 2016 avec une bonne reconnaissance du format : ouvrir un fichier nouveau, faire Données, puis
Obtenir des données ! ➪ à partir d’un fichier ➪ à partir d’un fichier texte/csv
et dans la fenêtre choisir Origine du fichier = 850:Europe de l’ouest (Dos) ! puis charger (si vous voulez séparer les répertoires et sous répertoires en colonnes, vous pouvez changer le séparateur TAB par défaut après par l’outil de données Convertir (car pour ma part si je le fais sur l’étape d’import, je n’ai pas toutes mes données en choisissant le séparateur slash
voilà c’est cool pour obtenir un fichier excel de tous les fichiers de votre serveur par exemple (pour moi un serveur SharePoint 2013) et utiliser les filtres avancés pour filtrer par type d’extension etc.