Renommer des fichiers en fonction de variables
Nabab
-
NababHop -
NababHop -
Bonjour,
Je souhaiterais renommer des fichiers et des dossiers de mesures en fonction des noms et des dates de ces mesures. Pour chaque mesures quatre fichiers sont créer. Et on compte 25 mesures qui sont numéroter avec deux chiffres (##) de 01 à 25.
J'ai une arborescence initiale :
C:\Local\180111\0.10g_liant_03_09_47_53\Pos000\spectro_228-784_æ.txt
C:\Local\180111\0.10g_liant_03_09_47_53\Pos000\spectro_244-311_æ.txt
C:\Local\180111\0.10g_liant_03_09_47_53\Pos000\spectro_317-425_æ.txt
C:\Local\180111\0.10g_liant_03_09_47_53\Pos000\spectro_757-944_æ.txt
Soit
C:\Local\AAMMJJ\nom_##_HH_MM_SS\Pos000\donnée_brute1_æ.txt
C:\Local\AAMMJJ\nom_##_HH_MM_SS\Pos000\donnée_brute2_æ.txt
C:\Local\AAMMJJ\nom_##_HH_MM_SS\Pos000\donnée_brute3_æ.txt
C:\Local\AAMMJJ\nom_##_HH_MM_SS\Pos000\donnée_brute4_æ.txt
et je voudrais changer cela en :
C:\Local\180111\0.10g_liant_03_09_47_53\spectro_228-784_æ.txt
C:\Local\180111\0.10g_liant_03_09_47_53\spectro_244-311_æ.txt
C:\Local\180111\0.10g_liant_03_09_47_53\spectro_317-425_æ.txt
C:\Local\180111\0.10g_liant_03_09_47_53\spectro_757-944_æ.txt
Soit :
C:\Local\AAMMJJ\nom_##_HH_MM_SS\donnée_brute1_##.txt
C:\Local\AAMMJJ\nom_##_HH_MM_SS\donnée_brute2_##.txt
C:\Local\AAMMJJ\nom_##_HH_MM_SS\donnée_brute3_##.txt
C:\Local\AAMMJJ\nom_##_HH_MM_SS\donnée_brute4_##.txt
J'ai écris un code assez long puisque je ne sais pas encore utiliser les boucle FOR en Batch. Et je ne vous écris que la première ligne de chaque partie. Le premier "rename" de dossier ne fonctionne pas puisque je n'entre pas les valeurs HH, MM et SS. Et je voudrais qu'il fonctionne sans les entrer.
@echo off
SET /p date=Quelle est la date AAMMJJ de la mesure ? > 180111
SET /p nom=Quel est le nom de echantillon ? > 0.10g_liant
echo %date% > 180111
echo %nom% > 0.10g_liant
pause off
rename C:\Local\%date%\%nom%_01* C:\Local\%date%\%nom%_01
move C:\Local\%date%\%nom%_01\Pos000\spectro_228-784* C:\Local\%date%\%nom%_01
rmdir /s /q C:\Local\%date%\%nom%_01\Pos000
rename C:\Local\%date%\%nom%_01\spectro_228-784* C:\Local\%date%\%nom%_01\spectro_228-784_01.txt
echo Programme fini !!!
pause off
Merci pour l'aide que vous pourrez m'apporter.
Nabab
Je souhaiterais renommer des fichiers et des dossiers de mesures en fonction des noms et des dates de ces mesures. Pour chaque mesures quatre fichiers sont créer. Et on compte 25 mesures qui sont numéroter avec deux chiffres (##) de 01 à 25.
J'ai une arborescence initiale :
C:\Local\180111\0.10g_liant_03_09_47_53\Pos000\spectro_228-784_æ.txt
C:\Local\180111\0.10g_liant_03_09_47_53\Pos000\spectro_244-311_æ.txt
C:\Local\180111\0.10g_liant_03_09_47_53\Pos000\spectro_317-425_æ.txt
C:\Local\180111\0.10g_liant_03_09_47_53\Pos000\spectro_757-944_æ.txt
Soit
C:\Local\AAMMJJ\nom_##_HH_MM_SS\Pos000\donnée_brute1_æ.txt
C:\Local\AAMMJJ\nom_##_HH_MM_SS\Pos000\donnée_brute2_æ.txt
C:\Local\AAMMJJ\nom_##_HH_MM_SS\Pos000\donnée_brute3_æ.txt
C:\Local\AAMMJJ\nom_##_HH_MM_SS\Pos000\donnée_brute4_æ.txt
et je voudrais changer cela en :
C:\Local\180111\0.10g_liant_03_09_47_53\spectro_228-784_æ.txt
C:\Local\180111\0.10g_liant_03_09_47_53\spectro_244-311_æ.txt
C:\Local\180111\0.10g_liant_03_09_47_53\spectro_317-425_æ.txt
C:\Local\180111\0.10g_liant_03_09_47_53\spectro_757-944_æ.txt
Soit :
C:\Local\AAMMJJ\nom_##_HH_MM_SS\donnée_brute1_##.txt
C:\Local\AAMMJJ\nom_##_HH_MM_SS\donnée_brute2_##.txt
C:\Local\AAMMJJ\nom_##_HH_MM_SS\donnée_brute3_##.txt
C:\Local\AAMMJJ\nom_##_HH_MM_SS\donnée_brute4_##.txt
J'ai écris un code assez long puisque je ne sais pas encore utiliser les boucle FOR en Batch. Et je ne vous écris que la première ligne de chaque partie. Le premier "rename" de dossier ne fonctionne pas puisque je n'entre pas les valeurs HH, MM et SS. Et je voudrais qu'il fonctionne sans les entrer.
@echo off
SET /p date=Quelle est la date AAMMJJ de la mesure ? > 180111
SET /p nom=Quel est le nom de echantillon ? > 0.10g_liant
echo %date% > 180111
echo %nom% > 0.10g_liant
pause off
rename C:\Local\%date%\%nom%_01* C:\Local\%date%\%nom%_01
move C:\Local\%date%\%nom%_01\Pos000\spectro_228-784* C:\Local\%date%\%nom%_01
rmdir /s /q C:\Local\%date%\%nom%_01\Pos000
rename C:\Local\%date%\%nom%_01\spectro_228-784* C:\Local\%date%\%nom%_01\spectro_228-784_01.txt
echo Programme fini !!!
pause off
Merci pour l'aide que vous pourrez m'apporter.
Nabab
A voir également:
- Renommer plusieurs fichiers incrémentation
- Renommer plusieurs fichiers en même temps - Guide
- Renommer iphone - Guide
- Comment renommer quelqu'un sur instagram - Guide
- Fichiers epub - Guide
- Renommer automatiquement des fichiers pdf - Télécharger - PDF
5 réponses
Bonjour,
Voilà de quoi t'inspirer :
“L'intelligence artificielle se définit comme le contraire de la bêtise naturelle.”
Voilà de quoi t'inspirer :
@echo off
setlocal enableextensions enabledelayedexpansion
cd C:\local
set /a nb=0
for /f "tokens=1-6 delims=\" %%A in ('dir /b /s "spectro*.txt"') do (
set fichier=%%~F
set /a nb+=1
echo !nb!# %%~F
if defined fichier (move "%%~A\%%~B\%%~C\%%~D\%%~E\%%~F" "%%~A\%%~B\%%~C\%%~D\%%~F" >nul)
)
echo. & pause
“L'intelligence artificielle se définit comme le contraire de la bêtise naturelle.”
rename C:\Local\%date%\%nom%_01* %nom%_01
move C:\Local\%date%\%nom%_25\Pos000\spectro_228-784* C:\Local\%date%\%nom%_25
rmdir /s /q C:\Local\%date%\%nom%_25\Pos000
rename C:\Local\%date%\%nom%_01\spectro_228-784* spectro_228-784_01.txt
move C:\Local\%date%\%nom%_25\Pos000\spectro_228-784* C:\Local\%date%\%nom%_25
rmdir /s /q C:\Local\%date%\%nom%_25\Pos000
rename C:\Local\%date%\%nom%_01\spectro_228-784* spectro_228-784_01.txt
Voilà la version complète :
“L'intelligence artificielle se définit comme le contraire de la bêtise naturelle.”
@echo off
setlocal enableextensions enabledelayedexpansion
chcp 1252 >nul
:: -------------------------------------------------------
:: on demande les informations à traiter
:: -------------------------------------------------------
:QUESTION
cls
set "jour="
set "nom="
echo. & SET /p jour="Quelle est la date de la mesure ? [AAMMJJ] "
if not defined jour (goto :QUESTION)
echo. & SET /p nom="Quel est le nom de l'échantillon ? "
if not defined nom (goto :QUESTION)
cls & echo. & echo La date est [ %jour% ] et le nom de la mesure est [ %nom% ]
:: -------------------------------------------------------
:: on demande une confirmation des informations
:: -------------------------------------------------------
:REPONSE
set "reponse="
echo. & SET /p reponse="C'est votre dernier mot ? [OUI ou NON] "
iF %reponse% EQU OUI GOTO RENOMME
iF %reponse% EQU NON GOTO QUESTION
GOTO REPONSE
:: -------------------------------------------------------
:: on traite les données à renommer/déplacer
:: -------------------------------------------------------
:RENOMME
cls & echo.
cd C:\local\%jour%\%nom% || exit /B 1
set /a nb=0
for /f "tokens=1-13 delims=\_" %%A in ('dir /b /s "spectro*.txt"') do (
set /a nb+=1
set test=%%~M
set destination=%%~A\%%~B\%%~C\%%~D_%%~E_00\%%~K_%%~L
set mesure=%%~A\%%~B\%%~C\%%~D_%%~E_%%~F_%%~G_%%~H_%%~I\%%~J\%%~K_%%~L_%%~M
set parent!nb!=%%~A\%%~B\%%~C\%%~D_%%~E_%%~F_%%~G_%%~H_%%~I
if not exist "!destination!" (mkdir "!destination!")
if defined test (
echo !nb!# %%~K_%%~L_%%~F.txt ==^>^> mesure #%%~F
move "!mesure!" "!destination!\%%~K_%%~L_%%~F.txt" >nul
)
)
:: -------------------------------------------------------
:: on supprime le dossier qu'on a traité
:: -------------------------------------------------------
cd C:\local
for /L %%A in (1,1,!nb!) do (rmdir /s /q "!parent%%A!" >nul 2>&1)
:: -------------------------------------------------------
:: fin du programme
:: -------------------------------------------------------
echo.
echo Programme fini ^^!^^!^^!
echo. & pause
:: -------------------------------------------------------
:: on ouvre le dossier et on quitte le programme
:: -------------------------------------------------------
explorer /select,"C:\local\%jour%"
exit
“L'intelligence artificielle se définit comme le contraire de la bêtise naturelle.”
Salut Barnabé
Je me suis finalement arreter sur ce code :
Il est plutôt basique mais je suis capable de l'expliquer au collègues de bureau.
Je passe maintenant à la partie traitement de donnée. Avant de passer ça sur Excel j'aimerais créer un fichier qui reprend toutes les données de mesures des autres fichiers. Dans les spectro*.txt il y a deux colonnes :
- Longueur d'onde
- Intensité de signal
Il faut que je fasse un fichier dans lesquelles on trouvera une colonne longueur d'onde et 25 colonnes d'intensité de signal.
Je vais chercher ça.
Si tu as des idées, je suis preneur.
Merci encore pour ton aide.
Je me suis finalement arreter sur ce code :
ECHO OFF :: ------------------------------------------------------------------------ :: on demande les informations à traiter :: ------------------------------------------------------------------------ :QUESTION cls SET /p date=Quelle est la date AAMMJJ de la mesure ? SET /p nom=Quel est le nom de echantillon ? cls echo La date est %date% echo et le nom de la mesure est %nom% :: ------------------------------------------------------------------------ :: on demande une confirmation des informations :: ------------------------------------------------------------------------ :REPONSE SET /p reponse=Etes vous sure ? OUI ou NON iF %reponse% EQU OUI GOTO RENOMME iF %reponse% EQU NON GOTO QUESTION GOTO REPONSE :: ------------------------------------------------------------------------ :: on traite les données à renommer/déplacer :: ------------------------------------------------------------------------ :RENOMME cls cd C:\local\%date% set /a nb=00 for /f "tokens=1-6 delims=_" %%A in ('dir /b "%nom%*"') do ( rename "%%~A_%%~B_%%~C_%%~D_%%~E_%%~F" "%nom%_%%~C" move C:\local\%date%\%nom%_%%~C\Pos000\spectro*.txt C:\local\%date%\%nom%_%%~C rmdir C:\local\%date%\%nom%_%%~C\Pos000 rename C:\local\%date%\%nom%_%%~C\spectro?????????*.txt spectro?????????%%~C.txt ) GOTO NOUVELLE_QUESTION :: ------------------------------------------------------------------------ :: on regroupe les donnees par etendue de spectre et nom d'echantillon :: ------------------------------------------------------------------------ :REGROUPER cd C:\Local\%date% cls for /f "tokens=1-9 delims=\_" %%A in ('dir /b /s "spectro*.txt"') do ( if not exist destination (mkdir %%~A\%%~B\%%~C\%%~D_%%~E_00\%%~G_%%~H) copy %%~A\%%~B\%%~C\%%~D_%%~E_%%~F\%%~G_%%~H_%%~I %%~A\%%~B\%%~C\%%~D_%%~E_00\%%~G_%%~H ) GOTO FIN :: ------------------------------------------------------------------------ :: doit-on renommer d'autre fichier ? :: ------------------------------------------------------------------------ :NOUVELLE_QUESTION cls echo Les donnees de %nom% ont été traité avec succès. set /p reponse= Voulez-vous renommer d'autres fichiers ? OUI ou NON IF %reponse% EQU OUI GOTO QUESTION IF %reponse% EQU NON GOTO SUITE_QUESTION GOTO NOUVELLE_QUESTION :: ------------------------------------------------------------------------ :: doit-on regroupe les donnees par etendue de spectre et nom d'echantillon :: ------------------------------------------------------------------------ :SUITE_QUESTION set /p reponse= Voulez-vous regrouper les donnees par etendue de spectre ? IF %reponse% EQU OUI GOTO REGROUPER GOTO FIN :: ------------------------------------------------------------------------ :: fin de programme :: ------------------------------------------------------------------------ :FIN cls echo Votre programme est termine !!! echo. & pause
Il est plutôt basique mais je suis capable de l'expliquer au collègues de bureau.
Je passe maintenant à la partie traitement de donnée. Avant de passer ça sur Excel j'aimerais créer un fichier qui reprend toutes les données de mesures des autres fichiers. Dans les spectro*.txt il y a deux colonnes :
- Longueur d'onde
- Intensité de signal
Il faut que je fasse un fichier dans lesquelles on trouvera une colonne longueur d'onde et 25 colonnes d'intensité de signal.
Je vais chercher ça.
Si tu as des idées, je suis preneur.
Merci encore pour ton aide.
Je fais des mesures avec quatre spectromètres en simultanés sur quatre différentes étendues. Donc pour chaque mesures, je reçois quatre fichiers qui correspondent aux données des quatre spectromètres.
Je fais 25 fois la mesures par échantillon donc je me retrouve avec vingt cinq fois quatre fichiers. Or pour analyser ces données je suis obligé de les trier par échantillon (normal) puis par étendu de spectre. Puisque mes analyses se font bien sur une étendue de spectre défini par un spectromètre et que je ne peux pas mélanger des données venant d'outils avec des résolutions et des incertitudes différentes.
Donc pour chaque étendues de spectre, je dois créer un fichier qui regroupe toutes les données d'intensité de signal de l'échantillon que j'étudie.
Je vais essayer de faire une macro sur Excel pour faire ça mais je ne brille pas plus en Batch qu'en VBA. Je pense quand même que ça fais partie du traitement par lot et je devrai le faire en Batch mais je ne sais pas si on peut manipuler du contenu de .txt en batch.
Je fais 25 fois la mesures par échantillon donc je me retrouve avec vingt cinq fois quatre fichiers. Or pour analyser ces données je suis obligé de les trier par échantillon (normal) puis par étendu de spectre. Puisque mes analyses se font bien sur une étendue de spectre défini par un spectromètre et que je ne peux pas mélanger des données venant d'outils avec des résolutions et des incertitudes différentes.
Donc pour chaque étendues de spectre, je dois créer un fichier qui regroupe toutes les données d'intensité de signal de l'échantillon que j'étudie.
Je vais essayer de faire une macro sur Excel pour faire ça mais je ne brille pas plus en Batch qu'en VBA. Je pense quand même que ça fais partie du traitement par lot et je devrai le faire en Batch mais je ne sais pas si on peut manipuler du contenu de .txt en batch.
Oui le batch est totalement adapté au traitement par lot.
Je n'ai pas le temps de tester mais ça devrait le faire :
A rajouter vers la fin de ton script.
ps : la variable %DATE% existe déjà, c'est une variable d'environnement, pour éviter les ennuis tu devrais utiliser un autre nom pour ta variable.
Je n'ai pas le temps de tester mais ça devrait le faire :
setlocal enableextensions enabledelayedexpansion
cd C:\local\%date%\%nom%
for /f "tokens=*" %%A in ('dir /b /ad') do (
pushd %%~A
for /f "tokens=*" %%P in ('dir /b "spectro*.txt"') do (call :traitement "%%~P")
echo !onde! !signal! >> recapitulatif.txt
popd
)
exit
:traitement
for /f "usebackq tokens=1,*" %%T in ("%~1") do (
set onde=%%T
set signal=!signal! %%U
)
goto :eof
rem
A rajouter vers la fin de ton script.
ps : la variable %DATE% existe déjà, c'est une variable d'environnement, pour éviter les ennuis tu devrais utiliser un autre nom pour ta variable.
Salut Barnabe.
J'ai essayé ton code mais il me sort un fichier récapitulatif dans lequel ceci est écrit :
"Commande ECHO activ‚e."
Et je n'arrive pas à le lire le code que tu me passe.
Je travaille en ce moment avec un collègue de bureau pour traiter ça en VBA mais ça serait bien plus simple pour moi de le faire en batch.
J'ai essayé de sortir un petit truc dans un répertoire de données :
Et ça m'a bien compilé mes données mais en deux colonnes avec 52100 ligne à la place des 2048 lignes sur 26 colonnes.
C'est un petit début mais on avance.
J'ai essayé ton code mais il me sort un fichier récapitulatif dans lequel ceci est écrit :
"Commande ECHO activ‚e."
Et je n'arrive pas à le lire le code que tu me passe.
Je travaille en ce moment avec un collègue de bureau pour traiter ça en VBA mais ça serait bien plus simple pour moi de le faire en batch.
J'ai essayé de sortir un petit truc dans un répertoire de données :
for /f "tokens=1,2 delims= " %%i in ('type *.txt') do echo %%i %%j>> fichierSortie.cvs
Et ça m'a bien compilé mes données mais en deux colonnes avec 52100 ligne à la place des 2048 lignes sur 26 colonnes.
C'est un petit début mais on avance.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Voilà j'ai enfin terminé, j'espère que ça te plaira :
Je te préviens la deuxième partie avec le tableau est vraiment longue, genre 6 heures sur ma machine, j'espère que la tienne est plus rapide ;)
@echo off
mode con: cols=80 lines=30
setlocal enableextensions enabledelayedexpansion
chcp 1252 >nul
title Spectromètre
:: -------------------------------------------------------
:: on demande les informations à traiter
:: -------------------------------------------------------
:QUESTION
set "jour="
set "nom="
cls & echo. & SET /p jour="Quelle est la date de la mesure ? [AAMMJJ] "
if not defined jour (goto :QUESTION)
echo. & SET /p nom="Quel est le nom de l'échantillon ? "
if not defined nom (goto :QUESTION)
cls & echo. & echo La date est [ %jour% ] et le nom de la mesure est [ %nom% ]
:: -------------------------------------------------------
:: on demande une confirmation des informations
:: -------------------------------------------------------
:REPONSE
set "reponse="
echo. & SET /p reponse="C'est votre dernier mot ? [OUI ou NON] "
iF %reponse% EQU OUI GOTO RENOMME
iF %reponse% EQU NON GOTO QUESTION
GOTO REPONSE
:: -------------------------------------------------------
:: on traite les données à renommer/déplacer
:: -------------------------------------------------------
:RENOMME
set heureDebut=%time:~0,2%h%time:~3,2%m%time:~6,2%
set jourDebut=%date%
cls & echo.
cd /d C:\local\%jour%\%nom% || exit /B 1
set /a nb=0
for /f "tokens=1-13 delims=\_" %%A in ('2^>nul dir /b /s "spectro*.txt"') do (
set /a nb+=1
set test=%%~M
set echantillon=%%~A\%%~B\%%~C\%%~D_%%~E_00
set destination=%%~A\%%~B\%%~C\%%~D_%%~E_00\%%~K_%%~L
set mesure=%%~A\%%~B\%%~C\%%~D_%%~E_%%~F_%%~G_%%~H_%%~I\%%~J\%%~K_%%~L_%%~M
set parent!nb!=%%~A\%%~B\%%~C\%%~D_%%~E_%%~F_%%~G_%%~H_%%~I
if not exist "!destination!" (mkdir "!destination!")
if defined test (
echo !nb!# %%~K_%%~L_%%~F.txt ==^>^> mesure #%%~F
move "!mesure!" "!destination!\%%~K_%%~L_%%~F.txt" >nul
)
)
:: -------------------------------------------------------
:: on supprime le dossier qu'on a traité
:: -------------------------------------------------------
cd C:\local
for /L %%A in (1,1,!nb!) do (rmdir /s /q "!parent%%A!" >nul 2>&1)
:: -------------------------------------------------------
:: on synthétise toutes les mesures de l'échantillon
:: -------------------------------------------------------
cd !echantillon! || exit /B 1
for /f "tokens=*" %%A in ('dir /b /ad') do (
if exist "%%~A.txt" (del /f /q "%%~A.txt")
cls & pushd %%~A
for /f "tokens=*" %%P in ('2^>nul dir /b "spectro*.txt"') do (call :tableau "%%~P")
for /L %%E in (1,1,2048) do (call :synthese %%E "%%~A")
popd
)
:: -------------------------------------------------------
:: fin du programme
:: -------------------------------------------------------
cls & echo.
echo Programme terminé ^^!^^!^^!
echo.
set heureFin=%time:~0,2%h%time:~3,2%m%time:~6,2%
set jourFin=%date%
echo le traitement a commencé le !jourDebut! à !heureDebut!
echo le traitement s'est terminé le !jourFin! à !heureFin!
echo. & pause
exit
:: -------------------------------------------------------
:: fonction pour fabriquer un tableau en 3 dimensions
:: -------------------------------------------------------
:tableau
set /a num=0
echo. & echo [ %~1 ] ==^>^> Indexation des résultats
for /f "usebackq tokens=1,2" %%T in ("%~1") do (
set /a num+=1
set "wave=%%T "
set onde!num!_%~n1=!wave:~0,16!
set "cue=%%U "
set signal!num!_%~n1=!cue:~0,10!
)
goto :eof
:: -------------------------------------------------------------
:: fonction pour fabriquer une synthèse à partir du tableau
:: -------------------------------------------------------------
:synthese
set "line="
for /f "tokens=*" %%P in ('2^>nul dir /b "spectro*.txt"') do (
set line=!line! # !signal%1_%%~nP!
set onde=!onde%1_%%~nP!
)
echo !onde! !line! >> ..\%~2.txt
cls
echo. & echo Echantillon : %nom%
echo. & echo Spectromètre : %~2
echo. & echo Synthèse en cours d'élaboration : ligne [%1] sur 2048
goto :eof
rem il faut toujours laisser une ligne vide après GOTO:EOF
Je te préviens la deuxième partie avec le tableau est vraiment longue, genre 6 heures sur ma machine, j'espère que la tienne est plus rapide ;)
Merci pour ta réponse.
J'ai testé ce script et je me suis retrouvé avec une nouvelle arborescence :
C:\Local\180111\0.15g_liant_14_10_07_41\spectro_228-784_µ.txt
C:\Local\180111\0.15g_liant_14_10_07_41\spectro_244-311_µ.txt
C:\Local\180111\0.15g_liant_14_10_07_41\spectro_317-425_µ.txt
C:\Local\180111\0.15g_liant_14_10_07_41\spectro_757-944_µ.txt
C:\Local\180111\0.15g_liant_14_10_07_41\Pos000
A la place de ça :
C:\Local\180111\0.15g_liant_##_HH_MM_SS\spectro_228-784_##.txt
C:\Local\180111\0.15g_liant_##_HH_MM_SS\spectro_244-311_##.txt
C:\Local\180111\0.15g_liant__##_HH_MM_SS\spectro_317-425_##.txt
C:\Local\180111\0.15g_liant_##_HH_MM_SS\spectro_757-944_##.txt
Et voilà ce que je vois :
- Le dossier Pos000 est toujours là.
- Les spectre.txt n'ont pas de numéro de mesure _## à la place du symbole µ.
- Et le dossier parent des données brutes contiennent encore l'heure de la mesure.
Il n'y a que le premier "rename" qui me pose problème. Quand je remplace :
rename C:\Local\%date%\%nom%_01* %nom%_01
par :
rename C:\Local\180111\0.15g_liant_##_HH_MM_SS %nom%_01
avec les numéro exact, alors tout le reste fonctionne.
Mais ça avance carrément. Hier soir avant de partir du travail je me suis arrêter sur une boucle FOR /F comme le tien mais en beaucoup plus rudimentaire puisque je n'ai pas les connaissances pour aller plus loin. J'ai remplacé ce rename qui pose problème par ceci :
J'essaye de découper le nom du dossier que l'on trouve dans liste.txt pour extraire que les caractère du nom et du numéro de mesure mais ça ne marche pas. Il ne me renomme que le premier dossier en "%j".
Je continu les recherches. Si tu as d'autre idées, je suis preneur.
Est-ce que tu connais un débuggeur de script que je pourrais utiliser ?
Cordialement
Nabab
J'ai fait quelques corrections :
Est-ce que c'est bon ou bien j'ai oublié quelque chose ?
Concernant ta dernière question tu peux utiliser PowerBatch :
https://www.commentcamarche.net/telecharger/developpement/18235-powerbatch/
Désolé, je te pose plein de question parce que je ne trouve personne qui soit capable d'en parler avec moi.
Mais la variable nb s'incrémente de 4 à chaque fois, pourtant set /a nb+=1 devrait la faire avancer de 1 à chaque boucle pas de 4.