|
|
|
|
Bonjour,
Je recois des centaines de fichiers de visuels et les archives dans un répertoire, je voudrais corriger d'un coup tous les fichiers en faisant disparaitre les espaces, les lettres pour ne garder que des chiffres.
Auriez-vous un morceau de code VBA, un exemple DOS ?
Merci
Carpe DiemConfiguration: Windows XP
Internet Explorer 7.0
Bonsoir, oui bien sur
|
Bon jour soir,
ECHO OFF
SETLOCAL ENABLEdelayedExpansion
SETLOCAL ENABLEextensions
CLS
CD C:\Documents and Settings\Christian\Mes documents\BATCH_files
SET "param_1=C:\Documents and Settings\Christian\Mes documents\a1"
SET "param_2=jpg"
rem SET "param_2=*"
FOR /R "%param_1%" %%F IN (*.%param_2%) DO (
SET "nom_fich=%%~nxF"
SET "save_ext=%%~xF"
SET "new_name="
FOR /L %%I IN (0,1,32) DO (
FOR /L %%J IN (0,1,9) DO (
IF "!nom_fich:~%%I,1!" == "%%J" (
SET "new_name=!new_name!!nom_fich:~%%I,1!" ) ) )
IF NOT "!new_name!" == "" (
SET "new_name=!new_name!!save_ext!"
REN "%%F" !new_name!
ECHO renommer ici !nom_fich! en !new_name! ) )
GOTO :EOF
Cordialement.
Cchristian. |
Bonjour,
ECHO OFF
SETLOCAL ENABLEdelayedExpansion
SETLOCAL ENABLEextensions
CLS
CD C:\Documents and Settings\Christian\Mes documents\BATCH_files
rem Le chemin/dossier sous lequel se trouvent les fichiers à traiter.
SET "param_1=C:\Documents and Settings\Christian\Mes documents\a1"
SET "param_2=jpg"
rem SET "param_2=*"
FOR /R "%param_1%" %%F IN (*.%param_2%) DO (
SET "nom_fich=%%~nxF"
SET "save_ext=%%~xF"
rem Ajout de la variable save_nom (nom du fichier avant modif éventuelle)
SET "save_nom=%%~nF"
SET "new_name="
FOR /L %%I IN (0,1,32) DO (
FOR /L %%J IN (0,1,9) DO (
IF "!nom_fich:~%%I,1!" == "%%J" (
SET "new_name=!new_name!!nom_fich:~%%I,1!" ) ) )
IF NOT "!new_name!" == "" (
rem Ajout de ce test afin d'éviter un REName systématique.
IF NOT "!new_name!" == "!save_nom!" (
SET "new_name=!new_name!!save_ext!"
REN "%%F" !new_name!
ECHO renommer ici !nom_fich! en !new_name! ) ) )
GOTO :EOF
Cordialement.
Cchristian.
|