Red de conocimiento informático - Conocimiento informático - ¿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?

¿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.