Bonjour toutes et tous,

J'utilise un disque externe (FAT32) pour enregistrer des films sur un enregistreur, ils sont dans des dossiers alphabétisés, plus sur le disque différents dossiers et fichiers créés par l'enregistreur et le disque dès qu'on connecte ce dernier à l'enregistreur ou au PC (Windows 10 64); je souhaite rassembler en un seul fichier texte alphabétique le nom des films (sans le chemin ou la taille), au plus simple il me faut pour cela un utilitaire capable de produire une sortie liste sans copie et assortie de critères d'exclusion.

J'ai testé xxcopy, xcopy et robocopy.

La sortie écran la plus propre est celle de xxcopy, il suffit de la rediriger dans la ligne de commande vers films.txt.
Les inconvénients en sont que:
-même dans une version ancienne en freeware, on a le droit à 5 lignes de copyright en tête de gondole (je sais, on peut toujours modifier le script pour s'en débarrasser).
-partagé avec xcopy (le code utilisé est sans doute le même), je n'ai aucun moyen que le contenu du dossier "LAP" (qui n'a pourtant ni date ni attribut différent des autres), n'apparaisse pas à la fin après celui du dossier "UZ".

Avec xcopy, outre le dossier "LAP", je n'ai trouvé aucun moyen de sortir la liste sans le chemin ni le nombre de fichiers traités à la fin:

K:\LAP\Laffaire_Farewell.avi
K:\LAP\Laffaire_Pelican.avi
280 fichier(s)
Si, à suivre, je me débarrasse du chemin:

Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
@echo off
chcp 65001 >nul
for /f "tokens=1,2,3 delims=\" %%a in ('type "C:\Users\bru\Desktop\test.txt"') do (
	  		echo %%c >> C:\Users\bru\Desktop\test2.txt
 
  	)

il résulte de la ligne "280 fichiers" dans test que l'opération inscrit dans le fichier de destination test2 une dernière ligne "Commande ECHO (dés)activée" selon qu'elle l'est ou pas.

Enfin, robocopy génère lui l'alphabétisation sans faute (dossier "LAP") mais génère une sortie du type:

	            	K:\
	  *Fichier SUPPL.			films.txt
	Nouveau rép.	K:\0\
	  Nouveau fichier			10_minutes_a_vivre.avi
	  Nouveau fichier			127_heures.avi
	  Nouveau fichier			36_quai_des_orfevres.avi
	Nouveau rép.	K:\A\
Une ligne vierge en tête, présence du "fichier suppl" (le même exécuté avant et pourtant supprimé avant la commande robocopy), 1 tabulation jusqu'à "Nouveau rép.", 12 espaces et 1 tabulation jusqu'à K:, 2 espaces avant "nouveau fichier", 3 tabulations avant nom du film; pour faire "propre", il faudrait à l'idéal se débarrasser de la tabulation à gauche, de "Nouveau rép." et remplacer "Nouveau fichier" par le nom du film: mais là, je sèche, je ne trouve via for, find et compagnie aucune syntaxe qui fonctionne.

Ce qui me turlupine vraiment, c'est le comportement copy-xxcopy vs robocopy sur l'alphabétisation (dossier "LAP").
Pour le reste, je sais bien qu'il s'agit vraiment de détails sans importance, mais si quelqu'un était à même de m'expliquer, surtout pour mourir moins bête, les "comportements non souhaités" que j'ai décrits, merci beaucoup (je n'ai pas fourni les lignes d'exclusion ni les commutateurs généraux, qui sont indigestes et ne participent pas au résultat, mais je les tiens à la disposition de qui en veut).

Edit: j'ai oublié, la vieillesse est un naufrage, le gros hic de xxcopy c'est que la sortie comporte y compris les fichiers exclus par critères, accompagnés du mot "excluded" en fin de ligne

Edit2: à part l'explication des différences de fonctionnement entre les différentes commandes, je n'aime pas le multi-posting et je n'en fais pas.
Je n'ai posté ce message sur ce forum savant que parce que le même, posté sur un autre beaucoup moins technique, n'avait pas trouvé de réponse et que dans ces conditions j'en désespérais.
barnabe, également ici présent, a fait sur le forum en question un patient travail pour résoudre mon petit problème, il en est grandement remercié, et cette question est donc résolue.