Bonjour,
J'ai créer un batch pour renommer les fichier dans un dossier.
Le fichier le plus long a ce jour est 92 caractères
SAGE_BATIGEST_BTG_DOS_EIE_BC-20240201183257-(bd77bc9e-675a-4470-af99-0e5fa2b19471)-Full.zip
Le batch devrait renommer le fichier.
Il fonctionne pour la création des variables, en mettant un echo j'obtient ceci
Nom du fichier : BTG_DOS_CLIMAVIE-20240201183345-(bd77bc9e-675a-4470-af99-0e5fa2b19471)-Full.zip
Dossier parent : BTG_DOS_CLIMAVIE-20240201183345-(bd77bc9e-675a-4470-af99-0e5fa2b19471)-Full.zip
Chemin complet : D:\SauveSQLBTG\
Nouveau : BTG_DOS_CLIMAVIE
A:\SauveSQLBTG\BTG_DOS_CLIMAVIE-20240201183345-(bd77bc9e-675a-4470-af99-0e5fa2b19471)-Full.zip
B:\SauveSQLBTG\BTG_DOS_CLIMAVIE.zip
Le fichier spécifié est introuvable.
Par contre il ne renomme pas le fichier
voila le script
@echo off
rem Spécifiez le répertoire dans lequel vous voulez rechercher les fichiers
set "repertoire=D:\SauveSQLBTG\"
set "dossier=BTG_DOS_EIE"
rem Parcourir les fichiers commençant par "xxxxxx"
for %%A in ("%repertoire%\*-*.zip") do (
rem Stocker le nom du fichier et du dossier parent dans des variables
set "nom_fichier=%%~nxA"
set "dossier_parent=%%~nxA"
set "chemin_complet=%%~dpA"
rem Afficher le nom du fichier et le nom du dossier parent
echo Nom du fichier : !nom_fichier!
echo Dossier parent : !dossier_parent!
echo Chemin complet : !chemin_complet!
rem Extraire la partie avant le premier tiret
for /f "tokens=1 delims=-" %%c in ("!nom_fichier!") do (
set "nom_sans_tiret=%%c!extension!"
echo Nouveau : !nom_sans_tiret!
)
set "FichierA=!chemin_complet!!nom_fichier!"
set "FichierB=!chemin_complet!!nom_sans_tiret!.zip"
echo A :!FichierA!
echo B :!FichierB!
ren "FichierA" "FichierB"
pause
)
Merci de votre aide
A bientôt
FH
Partager