Tengo una carpeta llena de archivos y todos se ven así:
marco_número_demora-número.gif
Me gustaría eliminar elmarco_y el_demoraparte.
¡Ayuda por favor!
Respuesta1
Puedes usar PowerShell para eso. Ábralo y navegue hasta la carpeta que contiene los archivos cuyo nombre desea cambiar cd
. Luego ejecute el siguiente comando:
cd C:\Path\to\your\folder
Get-ChildItem -Filter *.gif -File | Foreach-Object { Rename-Item -Path $_.FullName -NewName $_.Name.replace("frame_","").replace("_delay","") -WhatIf }
-WhatIf
significa que esto es un ensayo. Elimínelo una vez que esté satisfecho con el resultado mostrado para cambiar el nombre de los archivos.
Respuesta2
La respuesta de Megamorph es correcta, pero se puede mejorar, aquí está mi granito de arena.
Los comandos se pueden abreviar a una sola línea:
Get-ChildItem -Path "C:\Path\to\folder" -Filter "*.gif" -File -Recurse | % { Rename-Item -Path $_.FullName -NewName $($_.Name -replace "frame_|_delay") -WhatIf }
En el comando "C:\ruta\a\carpeta" hay un marcador de posición para la ruta real, reemplace la ruta con la ruta real cuando ejecute el comando;
El -Recurse
modificador también especifica el comando para procesar subdirectorios;
%
cuando se usa con un bloque de secuencia de comandos (cualquier comando entre {
y }
) es un alias para ForEach-Object
, si no se usa seguido de un bloque de secuencia de comandos, entonces significa el operador de módulo (es decir, 21 % 6
regresará 3
), se acostumbra usar %
indicar ForEach-Object
;
El -Replace
operador utiliza una coincidencia de expresiones regulares y no es necesario proporcionar el reemplazo, por lo que puede reemplazar dos cadenas en un solo paso y ahorra muchos caracteres.
Respuesta3
Utilice el softwareCambiar nombre. Es gratis.
Cree una regla de eliminación que contenga el texto frame_
y otra que contenga _delay
.