Buenos días/noches,
Tal vez alguien pueda ayudar, y tal vez esto pueda ayudar a alguien más. Si se observa el siguiente ejemplo:
01022015- BLABLABLA 04022018 - BLABLABLAB 02012016 - Blablabla
Lo que me gustaría hacer es buscar 02 cuando esté ubicado en el tercer y cuarto carácter del nombre del archivo. Algo así como buscar "02" después del segundo carácter.
De esa manera, podría ordenar todos los archivos de febrero por separado y luego cambiarles el nombre por lotes correctamente.
¿Es esto factible? A continuación se muestra un ejemplo de una consulta de búsqueda que podría servir como base para un mayor desarrollo.
Gracias desde ya ~"(4)"
Respuesta1
busque el 02 cuando esté ubicado en el tercer y cuarto carácter del nombre del archivo.
Utilice ?
el símbolo de patrón que significa "1 carácter fuerte":
DIR ??02*.*
Respuesta2
Creo que tienes suerte esta vez. La expresión regular es bastante simple en este caso y se puede implementar incluso en elmicrosoft ventanas 10Preprocesador de línea de comandos.
La expresión regular es ??02*
.
Por lo tanto, podrías atreverte a emitir un comando del sistema operativo como el RENAME ??02* <New Name>
.
Respuesta3
for /f tokens^=* %F in ('where /r . "??02*.*"')do rename "%~F" "Some_New_Name%~xF"
- Producción:
rename "G:\SUPER_USER\Q59446122\310220218.txt" "Some_New_Name.txt"
rename "G:\SUPER_USER\Q59446122\110220218.txt" "Some_New_Name.txt"
rename "G:\SUPER_USER\Q59446122\100220218.txt" "Some_New_Name.txt"
rename "G:\SUPER_USER\Q59446122\Sub_1\170220218.txt" "Some_New_Name.txt"
rename "G:\SUPER_USER\Q59446122\Sub_1\030220218.txt" "Some_New_Name.txt"
Pruebe esto para la carpeta actual:
for /f tokens^=* %F in ('where "??02*.*"')do rename "%~F"
- Producción:
rename G:\SUPER_USER\Q59446122\310220218.txt Some_New_Name.txt
rename G:\SUPER_USER\Q59446122\110220218.txt Some_New_Name.txt
rename G:\SUPER_USER\Q59446122\100220218.txt Some_New_Name.txt