bonjour à tous
j'ai un gros problème, on me demande de chercher dans plusieurs fichiers .txt dans la première ligne la position d'un caractère ( s)

exemple
fichier-toto.txt
fichier-tutu.txt
fichier-tata.txt


7771765;S;020;52140209;13257830;20217412;20215214;
donc le S est en 8 eme position
une fois trouvé
il doit rajouter au fichier -8 dans le nom du fichier
fichier-toto-8.txt
fichier-tutu-7.txt
fichier-tata-6.txt

j'ai cherché des solutions en bat ou PowerShell et j'ai rien trouvé pour faire cela

grand merci pour l'aide


Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@echo off
 
REM dossier ne doit pas se terminé par un \
set dossier=C:\test
set cherche=S
 
for /f "tokens=*" %%a in ('dir /A/B/S "%dossier%\*.txt" 2^>nul') do findstr /i /B "nom=%cherche%*" "%%a" >nul 2>nul&&(
echo Fichier trouve "%%a" ^(dans "%%~dpa"^)
 
SET RepName2=%%a
setlocal enabledelayedexpansion
for %%a in (c:\test\*.txt) do (
  for /f  "tokens=1 delims= " %%b in ('echo %%~ta') do (
   set "$date=%%b"
   set "$date=!$date:/=-!"
   ren "%%a" "%%~na_%RepName2%.txt"))
 
pause>NUL
exit
)