Test Foro de elhacker.net SMF 2.1

Programación => Scripting => Mensaje iniciado por: Darioxhcx en 5 Agosto 2016, 02:15 AM

Título: Quitar ultimas palabras en el nombre del archivo
Publicado por: Darioxhcx en 5 Agosto 2016, 02:15 AM
Buenas.. miren tengo una consulta, nunca habia llegado a esta parte del for, pero bueno..  :silbar:

resulta que me descargue 291 caps de dragon ball ja y los archivos se llaman

(001) DBZ (web.com.ar)
(002) DBZ (web.com.ar)

lo que necesitaria es solo "eliminar" lo que esta dentro del parentesis.

creo que algo como


@echo off
for /R %%c in ( * ) do ren %%ACA ME TRABE JAJAJA  :xD :xD :laugh: :laugh: :¬¬


Alguno me da una mano? nunca fui bueno con el token, delims y esas cosas :V
graxie
Título: Re: Quitar ultimas palabras en el nombre del archivo
Publicado por: Eleкtro en 5 Agosto 2016, 11:49 AM
Hola

Puedes hacerlo de la siguiente manera:

@Echo Off & Setlocal EnableDelayedExpansion

For %%f In ("*.avi") DO (
   Set "filename=%%~nf"
   Set "filename=!filename: (web.com.ar)=!"
   Echo "%%~nxf" -^> "!filename!%%~xf"
   Rename "%%~ff" "!filename!%%~xf"
)

Pause & Exit


Notas:
- Reemplaza ".avi" por la extensión correcta.
- Si realmente necesitases utilizar la recursión de archivos (For /R), antes de rintentar renombrar el archivo deberías asignar el directorio de trabajo para que sea el mismo directorio donde se encuentra el archivo a renombrar (lo puedes hacer de forma sencilla con el comando PUSHD y POPD y el modificador de la variable de For: %%~pd)

Saludos