Ms-Dos - Modificar o quitar primeros 5 caracteres de varios archivos

 
Vista:

Modificar o quitar primeros 5 caracteres de varios archivos

Publicado por Sergio (3 intervenciones) el 10/01/2016 14:02:43
Resulta que quiero hacer un script .bat que consiga eliminar o quitar los 5 primeros caracteres de los nombres de archivos .mp3. Tengo un album con 99 canciones del estilo:
01 - Headhunterz, R3hab - Won't Stop Rocking (Extended Mix)
02 - Bassjackers - Bring That Beat (Original Mix)
03 - Quintino - Scorpion (Hardwell Edit)
etc,etc..
Y lo que me gustaría es eliminar los 5 primeros caracteres "xx - "
Tengo un código batch para quitar caracteres desde el final, por si les sirve de ayuda:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
:: Bat que borra 4 ultimos caracteres de los nombres de varios archivos aceptando archivos que incluyan nombres con espacios.
:: Ubicar este bat en la misma carpeta de los archivos a renombrar.
 
@echo off
 
set ext=xls
rem ext es la extension de los archivos sin anteponer punto.
 
set sacar=4
rem sacar es la cantidad de letras al final del nombre que quieres sacar.
 
for /f "tokens=*" %%f in ('dir /b /a *.%ext%') do call :lab %%f
exit
 
:lab
set original=
set original=%*
set newname=
call set newname=%%original:.%ext%=%%
call set newname=%%newname:~0,-%sacar%%%.%ext%
if "%newname%"==".%ext%" (goto :eof)
ren "%original%" "%newname%"
goto :eof

Muchas gracias!!!!!!!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
2
Responder
Imágen de perfil de Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Modificar o quitar primeros 5 caracteres de varios archivos

Publicado por Antoni Masana (811 intervenciones) el 13/01/2016 08:55:56
Con una pequeña modificación y quitando lo que no corresponde

1
2
3
4
5
6
7
8
9
10
11
12
13
14
@echo off
 
set ext=mp3
 
for /f "tokens=*" %%f in ('dir /b /a *.%Ext%') do call :lab %%f
goto :EOF
 
:lab
   set original=%*
   set newname=%original:~5%
 
   ren "%original%" "%newname%"
 
   goto :eof
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
3
Comentar

Modificar o quitar primeros 5 caracteres de varios archivos

Publicado por Sergio (3 intervenciones) el 14/01/2016 20:35:12
Me sirvio! Muchassss gracias crack!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Gracias.

Publicado por José (2 intervenciones) el 30/12/2016 11:43:51
Muchas gracias también me sirvió de "base" para la eliminación de espacios en blanco de los nombres de los ficheros. Con solo cambiar.
set newname=%original:~5%
por
set newname=%original: =%
Lo pongo por si a alguien mas le es útil.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Modificar o quitar primeros 5 caracteres de varios archivos

Publicado por Federico Regueiro (1 intervención) el 09/05/2017 19:52:32
MUCHAS GRACIAS A AMBOS!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Modificar o quitar primeros 5 caracteres de varios archivos

Publicado por Carlos (1 intervención) el 27/09/2019 23:28:49
Cómo quitaría los 5 últimos caracteres?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Modificar o quitar primeros 5 caracteres de varios archivos

Publicado por Sergio (3 intervenciones) el 29/09/2019 15:17:32
Mira el código de la pregunta. Simplemente cambia el valor de la variable sacar de 4 a 5.
Salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Modificar o quitar primeros 5 caracteres de varios archivos

Publicado por Ale (2 intervenciones) el 16/03/2020 19:00:49
Ya le encontré la vuelta, les muestro como me quedó el código ya que gracias a este post pude solucionar lo último que me faltaba para completar mi automatización de emails y auto backup de archivos

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@echo off
 
set ext=xlsm
rem ext es la extension de los archivos sin anteponer punto.
 
set sacar=5
rem sacar es la cantidad de letras al final del nombre que quieres sacar.
 
for /f "tokens=*" %%f in ('dir /b /a *.%ext%') do call :lab %%f
 
:lab
echo %%f
set original=
set original=%*
set newname=
call set newname=%%original:.%ext%=%%
call set newname=%%newname:~0,-%sacar%%% %date:~6,4%.%ext%
if "%newname%"==".%ext%" (goto :eof)
ren "%original%" "%newname%"

Era tan sencillo como agregar la fórmula de fecha a la variable %newname%
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Modificar o quitar primeros 5 caracteres de varios archivos

Publicado por A. Ulises (1 intervención) el 06/02/2022 03:22:21
Saludos y gracias, sirve justamente como lo describes.
Mi solicitud es: con base en el mismo ejemplo, en vez de eliminar los primeros 5 caracteres, ¿Cómo podría agregar uno o varios caracteres como un simple "." (punto) o cualquier otro (número o letra) en el nombre del archivo, ejemplo:
01 - filename.mp3 ->[nombre original, sin el punto después del número]
01. - filename.mp3 ->[nombre deseado, con un caracter cualquiera después del número]
Asimismo, saber si existe restricción en el uso de caracteres especiales, tal vez "?", "*" u otros.
Gracias de antemano, quiero aprender y esta página ayuda mucho!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de William

Modificar o quitar primeros 5 caracteres de varios archivos

Publicado por William (1 intervención) el 18/09/2023 17:13:15
¡Gracias!
No sabes cuanto tiempo llevaba buscando la forma de hacer esto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Modificar o quitar primeros 5 caracteres de varios archivos

Publicado por Ale (2 intervenciones) el 16/03/2020 17:52:41
Existe alguna forma de que dentro de este procedimiento no se tenga que ingresar el nombre del archivo, y que se obtenga en base a la búsqueda del archivo por su extensión para luego ubicarlo como variable?, mi idea es cambiar de nombre un archivo con el año actual utilizando date %6.4%, y que luego en la siguiente actualización borre el año antiguo y lo reemplace por un nuevo año, si existe una solución a esto y además es aplicable a una lista de archivos con la misma extensión sería ideal, pero incluso pudiéndolo aplicar sólo a un archivo me sirve. Yo tengo el procedimiento para encontrar hasta un archivo y modificarlo, pero no he podido integrar esta fórmula en el archivo porque también usa el ciclo for, y no termino de comprender cuál es la lógica mediante la cual opera la sintaxis de los restadores de caracteres.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Modificar o quitar primeros 5 caracteres de varios archivos

Publicado por Miguel (1 intervención) el 03/10/2021 16:50:09
Buen dia, me sirvio mucho el codigo para eliminar las ultimas 5 letras de los archivos, sin embargo me esta omitiendo los archivos que tienen en los nombres el caracter & , me podrian ayudar por favor para adicionarle el que modifique estos también. Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Modificar o quitar primeros 5 caracteres de varios archivos

Publicado por Antoni Masana (811 intervenciones) el 04/10/2021 16:03:35
Este carácter lo trata de forma especial el BAT y da mucho por saco al igual que la coma u otros símbolos.

En este caso lo mejor seria usar Visual Basic Script que es nativo de Windows o un lenguaje interpretado como por ejemplo el PYTHON que además es gratuito.

No te puedo ayudar en ninguno de los dos.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Modificar o quitar primeros 5 caracteres de varios archivos

Publicado por Harold Zabala (3 intervenciones) el 23/12/2021 16:22:37
Hola Antoni, disculpa quisiera consultarte cual seria la instrucción para eliminar los ultimos caracteres en la cadena del nombre del archivo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Modificar o quitar primeros 5 caracteres de varios archivos

Publicado por Antoni Masana (811 intervenciones) el 23/12/2021 16:57:27
Deberías abrir un nuevo mensaje y explicar más detalladamente el problema.

Sin saber muy bien que es lo que quieres te doy un pequeño ejemplo:

1
2
3
4
5
6
7
8
9
C:\Tmp>set File=grid_view_consulta_pedidos_Formulas_V2
 
C:\Tmp>echo %File%
grid_view_consulta_pedidos_Formulas_V2
 
C:\Tmp>set nom=%File:~0,-5%
 
C:\Tmp>echo %nom%
grid_view_consulta_pedidos_Formul

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Modificar o quitar primeros 5 caracteres de varios archivos

Publicado por Harold Zabala (3 intervenciones) el 23/12/2021 18:19:30
rename1
rename2
rename3

Gracias Antoni, tome la variable en la línea 6 --> "~0,-5%" y funciona, sin embargo, con estos últimos caracteres este removiendo la extensión de archivo ".txt". Hay alguna forma en la que se pueda excluir la extensión de archivo y que cuente los ultimos caracteres antes del ".txt"?
Estoy adjunstando imágenes con el ejercicio realizado.

Agradezco tus comentarios.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Modificar o quitar primeros 5 caracteres de varios archivos

Publicado por Antoni Masana (811 intervenciones) el 23/12/2021 21:20:07
Estos son los cambios que tiene que hacer:

1
2
3
4
5
6
7
8
9
10
@echo off
set ext=txt
for /f "tokens=*" %%f in ('dir *.%Ext% /b /a') do call :Lab %%~nf
goto :EOF
 
:Lab
   set Original=%*
   set NewName=%Original:~0,-5%
   ren "%Original%.%Ext%" "%NewName%.%Ext%"
   goto :EOF

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Modificar o quitar primeros 5 caracteres de varios archivos

Publicado por Harold (3 intervenciones) el 23/12/2021 22:10:30
Excelente... mil gracias. Funciona perfectamente!


rename4
rename5rename4
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Modificar o quitar primeros 5 caracteres de varios archivos

Publicado por Serbe (1 intervención) el 28/03/2023 22:24:53
Hola Muchas gracias, estoy corriendo este .bat pero quita los últimos caracteres, no los primeros... que se debería modificar?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Modificar o quitar primeros 5 caracteres de varios archivos

Publicado por Antoni Masana (811 intervenciones) el 29/03/2023 10:58:24
Creo que esto:

1
2
3
4
5
6
7
8
9
10
@echo off
set ext=txt
for /f "tokens=*" %%f in ('dir *.%Ext% /b /a') do call :Lab %%~nf
goto :EOF
 
:Lab
   set Original=%*
   set NewName=%Original:~5,-99%
   ren "%Original%.%Ext%" "%NewName%.%Ext%"
   goto :EOF

Saludos,
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar