Ms-Dos - BAT para Eliminar caracter en nombre de archivo

 
Vista:
sin imagen de perfil

BAT para Eliminar caracter en nombre de archivo

Publicado por Moises (1 intervención) el 21/02/2015 22:59:59
Hola a todos!!

Espero puedan ayudarme, no tengo mucha experiencia en hacer BATs en Windows y necesito escribir uno para modificar el nombre de todos los archivos PDF que contiene un directorio, eliminando un caracter en concreto.

Es decir, tengo varios archivos PDF con nombres de la siguiente forma:

M-1494824.pdf
M-1494944.pdf
...
M-1494871.pdf...

y lo que necesito es modificar el nombre de todos eliminando el guion (-) en cada nombre, de forma que queden asi:

M1494824.pdf
M1494944.pdf
...
M1494871.pdf...

He estado buscando y he visto el bucle for, y cómo utilizarlo para recorrer todos los archivos de un directorio. Y también he visto que el comando rename cambia el nombre de los archivos. Pero no sé exactamente cómo cambiar el nombre de forma que se copie el mismo eliminando sólo ese caracter.

¿Alguien sabe cómo hacerlo? o ¿Si es posible?

Gracias de antemano!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de A.H.H

BAT para Eliminar caracter en nombre de archivo

Publicado por A.H.H (216 intervenciones) el 01/03/2015 00:58:41
Hola esto en un archivo.bat y ejecutándolo en el mismo directorio o carpeta donde están los archivos PDF
te deveria servir:

1
2
3
4
5
6
7
@echo off
for %%f in (*.pdf) do (set archivo=%%f&call :renombrar)
pause
:renombrar
set quitar=%archivo:-=%
rename "%archivo%" "%quitar%"
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
0
Comentar

BAT para Eliminar caracter en nombre de archivo

Publicado por jose carlos (1 intervención) el 29/06/2016 00:22:12
y como se haria para hacerlo recursivamente en varias carpetas ???
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

BAT para Eliminar caracter en nombre de archivo

Publicado por jorge (1 intervención) el 25/05/2017 00:53:56
si yo tengo la misma duda, dentro de un carpeta tengo varias carpetas archivos que renombrar pero no se como
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

BAT para Eliminar caracter en nombre de archivo

Publicado por MWinchester (3 intervenciones) el 30/01/2018 19:48:16
Buenas tardes.

Tuve el mismo problema y lo pude resolver gracias a tu respuesta, ahora tengo una duda, se puede digamos... agregar nuevamente ese guion (-) en todos los archivos?, he estado buscando en la red informacion pero hasta ahora no te tenido suerte.

Agradecería mucho la ayuda.

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
Val: 2
Ha disminuido su posición en 11 puestos en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

BAT para Eliminar caracter en nombre de archivo

Publicado por Charles (1 intervención) el 16/10/2018 17:46:49
Amigo buen dia
Como resolviste el renombrado por subcarpeta
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 A.H.H

BAT para Eliminar caracter en nombre de archivo

Publicado por A.H.H (216 intervenciones) el 17/10/2018 14:04:58
HOLA aquí tienes el bat mejorado y recursivo osea que corre dentro de las subcarpetas del directorio raíz donde lo ejecutes.
1
2
3
4
5
6
7
@echo off
for /R "." %%a in (*.pdf) do (SET ruta=%%a&SET archivo=%%~nxa&CALL :renombrar)
pause
:renombrar
set archivo=%archivo:-=%
ren "%ruta%" "%archivo%"
goto:eof

NOTA:
en la línea de código:

1
set archivo=%archivo:-=%

puedes cambiar el caracter guion por cualquier caracter que quieras reemplazar
para reemplazar por otro caracter por ejemlo el quion por el guion bajo la linea de codigo quedaria asi:
1
set archivo=%archivo:-=_%


YO NO PONGO NADA DESPUES DEL = PUESTO QUE SOLO EN EL EJEMPLO QUEREMOS QUITAR EL GUION
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

BAT para Eliminar caracter en nombre de archivo

Publicado por fernando (1 intervención) el 27/03/2019 01:52:05
Capo total, con el modo recursivo pude eliminar un "virus" que me anexo una terminacion (.chark) a todos mis archivos de un pendrive dejandolo inutilizado, corri el bat y santo remedio, genio total
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

BAT para Eliminar caracter en nombre de archivo

Publicado por Guille (1 intervención) el 03/12/2019 00:41:16
Muchas Gracias por el aporte. solo me queda una duda, como podria ocuparlo para renombrar carpetas en lugar de archivos?
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

BAT para Eliminar caracter en nombre de archivo

Publicado por Yoneck679 (1 intervención) el 29/05/2020 22:14:44
Gracias bro
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

BAT para Eliminar caracter en nombre de archivo

Publicado por Sodee (1 intervención) el 09/08/2020 23:41:55
Mil gracias man, buscaba un programa para hacerlo y di con tu solución de archivo por lotes, hace más de 30 años que no programaba, me sirvió mucho para mi trabajo agobiante de escaneo diario. Yo necesitaba eliminar un guión bajo que me ponía al principio de cada archivo. Nuevamente gracias. 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

BAT para Eliminar caracter en nombre de archivo

Publicado por ezequiel (1 intervención) el 05/11/2021 22:36:31
Excelente aplicacion, me ayudo mucho en mi trabajo.. muchas gracias.. me ayudo en un 50% el otro 50% lo hice manualmente... este es mi caso.. espero y se pueda agregar algo mas para un futuro uso... mi ejemplo son los siguientes archivos: scan-1-1234-7000208 MAQUINA, scan-1-1234-7000205 MAQUINA, scan-1-1234-7000220 MAQUINA.. el objetivo es solo dejar esta numeracion 7000208,7000205,7000220..con este bat solo pude eliminar la palabra scan-1-1234- y la palabra MAQUINA la elimine de manera manual .. ojala y se pueda contar con una herramienta para este caso.

Saludos y muy agradecido por el aporte
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

BAT para Eliminar caracter en nombre de archivo

Publicado por Leonardo Cárdenas (1 intervención) el 08/11/2021 01:04:56
Buenas Tardes, el .bat funciona muy bien muchas gracias, pero ahora tengo el problema que cuando lo ejecuto de la tarea de Windows no lo realiza pero cuando lo hago manual si, tengo otra tarea que lo que hace es llamar un .bat que luego llama a un .txt que conecta a mi ftp y sube archivos automáticos y este si funciona. Pero no se porque el de reemplazar archivos no. Si podrían ayudarme se los agradezco.
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 A.H.H.

BAT para Eliminar caracter en nombre de archivo

Publicado por A.H.H. (216 intervenciones) el 21/11/2021 21:58:07
Hola para tu caso en concreto prueba esto, EN EL EJEMPLO QUE TE PONGO BUSCA TODOS LOS ARCHIVOS TXT PERO CAMBIAS LA EXTENSION EN LA LINEA DEL FOR DONDE PONE : (*.txt) POR LA QUE QUIERAS (*.PDF) ETC.......

1
2
3
4
5
6
7
8
9
@echo off
for /R "." %%a in (*.txt) do (SET ruta=%%a&SET archivo=%%~nxa&CALL :renombrar)
pause
:renombrar
set archivo=%archivo:scan-1-1234-=%
set archivo=%archivo:MAQUINA=%
set archivo=%archivo: =%
ren "%ruta%" "%archivo%"
goto:eof

lo que hace primero es quitar esto-->scan-1-1234-
después quita esto--->MAQUINA
y después quita un espacio en blanco que quedaba en tu caso entre la numeracion y la palabra MAQUINA.


En este enlace de internet podéis ver algunos ejemplos de reemplazar cadenas esta en ingles pero facil de entender.......
https://www.dostips.com/DtTipsStringManipulation.php
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

BAT para Eliminar caracter en nombre de archivo

Publicado por Andres (1 intervención) el 02/10/2022 07:42:00
Gracias por tu aporte. Me ahorre horas de trabajo. Es justo lo que buscaba
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

BAT para Eliminar caracter en nombre de archivo

Publicado por ser (1 intervención) el 02/08/2022 22:47:14
Muchas muchas gracias por su colaboracion. Me ha servido bastante.
MS-DOS ... no acabes nunca.
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

BAT para Eliminar caracter en nombre de archivo

Publicado por Nika (1 intervención) el 29/09/2022 18:15:44
Muchas gracias!!! tenia el mimo problema pero con un 0 indeseado despues de crear varias cartas de forma masiva con una macro, no pude eliminarle el glitch a la macro, pero tu solución me salvó
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