Batch Eliminar Doble Extensión (SOLUCIONADO)

Iniciado por kaisersouse2, 17 Septiembre 2014, 16:44 PM

0 Miembros y 1 Visitante están viendo este tema.

kaisersouse2

Buenos días, tengo un detalle con un código de desencriptación que tengo en un batch, resulta que en la salida me genera un lote de archivos de tipo:

Archivo1.doc.encrypted.txt
Archivo2.doc.encrypted.txt
Archivo3.doc.encrypted.txt
.
.
Archivon.doc.encrypted.txt

El tema es que necesito una linea que me elimine el .encrypted.txt de todos los archivos que encuentre en esa ruta y me deje solo el nombre de el archivo con su extensión inicial.

Saludos y gracias de antemano

daryo

#1
crea un archivo .bat en la carpeta donde esten los archivos y le pones

Código (DOS) [Seleccionar]

@echo off
for /F "tokens=1,2,3,4 delims='.'" %%a in ('dir /B *.encrypted.txt') do (move %%a.%%b.%%c.%%d %%a.%%b)
buenas

Eleкtro

Cita de: kaisersouse2 en 17 Septiembre 2014, 16:44 PMBatch Eliminar Doble Extensión

Hola

Solo para dejar claro una cosa, en realidad los archivos tienen 1 sola extensión (que es: .txt), el resto que podriamos considerar extensiones (.doc, .encrypted) no lo son, eso se considera contenido del nombre del archivo (contenido con puntos) y por ende es imposible reconocerlos como extensiones de manera eficiente.

Pero, como conoces exactamente la cadena que quieres eliminar y también conoces cuantas palabras con puntos son, la tarea es bien facil:

Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje

Parece que ya te contestaron :P

Saludos.








kaisersouse2

#3
Cita de: daryo en 17 Septiembre 2014, 16:59 PM
crea un archivo .bat en la carpeta donde esten los archivos y le pones

Código (DOS) [Seleccionar]

@echo off
for /F "tokens=1,2,3,4 delims='.'" %%a in ('dir /B *.encrypted.txt') do (move %%a.%%b.%%c.%%d %%a.%%b)


me dice que la sintaxis no es correcta, help me please




[MOD]: No está permitido hacer doble post.

daryo

si ejecutas directamente el comando en ves de ponerlo en un archivo .bat y abrirlo cambia las %%a por %a las %%b por %b y asi con todos
buenas

kaisersouse2

que tal daryo sigue sin funcionar, apoyame con eso necesito el pez no la caña jajaja, necesito que lea todos los
Archivo1.doc.encrypted.txt
Archivo2.doc.encrypted.txt
Archivo3.doc.encrypted.txt
.
.
Archivon.doc.encrypted.txt

dentro de una carpeta y me elimine .encrypted.txt esos 14 caracteres y me deje por ejemplo solo:

Archivo1.doc
segui tus instrucciones al pie de la letra y no corrio

Eleкtro

@kaisersouse2

No es necesario que me envies un email, usa el tema que abriste para formular preguntas.

Código (dos) [Seleccionar]
@Echo OFF

For /F "Tokens=1-2,* delims=." %%a In ('Dir /B /A "*.encrypted.txt"') DO (
Echo "%%~fa.%%b.%%c" ^> "%%~fa.%%b"
Ren  "%%~fa.%%b.%%c"    "%%~na.%%b"
)

Pause&Exit


Saludos.








kaisersouse2

Disculpa bro soy nuevo en este tema de los foros

Eleкtro

Cita de: kaisersouse2 en 17 Septiembre 2014, 18:19 PM
Disculpa bro soy nuevo en este tema de los foros

ok, no pasa nada :P

¿te funcionó el código?

saludos








kaisersouse2

funciono de maravilla, puedes explicarme así como para mongolico esa linea y cerrar el tema si puedes