¿Cómo puedo eliminar los corchetes del sufijo numérico a través del código Bat y agregar una barra horizontal "-" antes del número de forma predeterminada?
El siguiente es un ejemplo de implementación:
Copiar código @echo offsetlocal enableelayeexpansionfor a in (*(*)) do ( set "filename=~na"
rem elimina la parte numérica después de corchetes y puntos
para /f "tokens=1 delims=(" b in ("!filename!") establezca "filename=b" para /f "tokens = * delims=.0123456789" b in ("!filename!") do set "filename=!filename!b"
rem Agrega un guión antes del número
set "newname = !nombre de archivo!" for /f "tokens=1* delims=0123456789" b in ("!nombre de archivo!") do ( if not "c"=="" set "newname=b-c"
)
rem cambiar el nombre del archivo
si no "!newname!"=="!filename!" ren "~fa" "!newname!~xa"
)echo Listo.
Idea básica: use un bucle para recorrer todos los nombres de archivos con corchetes y números alternos con sufijos, y luego modifique cada nombre de archivo por separado usando el método set comando y función de procesamiento de caracteres. elimine los corchetes y los números de la cadena y agregue guiones. Finalmente, use el comando ren para cambiar el nombre del archivo a un nuevo nombre. Tenga en cuenta que debe hacer una copia de seguridad de sus datos antes de ejecutar este código.