elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [vbscript]¿como renombrar un grupo de ficheros? SOLUCIONADO
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [vbscript]¿como renombrar un grupo de ficheros? SOLUCIONADO  (Leído 15,299 veces)
tonilogar

Desconectado Desconectado

Mensajes: 55


Ver Perfil
[vbscript]¿como renombrar un grupo de ficheros? SOLUCIONADO
« en: 18 Octubre 2009, 00:17 am »

Antes de nada agradecer a todos los integrantes del foro,por toda la información y conocimiento que he podido utilizar, para poder ir aprendiendo un poco de VBScript.

Pues tengo un problema, en medio de un script que estoy haciendo, no se como renombrar un grupo de ficheros.

Si no a quedado muy clara la cosa leete la parrafada de abajo...tampoco es tan larga.

Los ficheros son un un nombre de 8 dígitos(que son numeros)+_100+ extension(.msk)

Ejemplo:80123451_100.msk
              80123452_100.msk
              80123453_100.msk
              80123454_100.msk
              80123455_100.msk

 La cuestión que renombrar con move es muy fácil:

Set fso = CreateObject("Scripting.FileSystemObject")
fso.MoveFile “c:\80123451_100.msk”, “80123451_100.msk”

Pero lo que quiero es quitar *_100* de todos los ficheros.
Sin tener que escribir la relación de cada uno.
Porque normalmente lo tengo que hacer con unos 500 ficheros.
              80123451_100.msk       80123451.msk
              80123452_100.msk       80123452.msk
              80123453_100.msk       80123453.msk
              80123454_100.msk       80123454.msk
              80123455_100.msk       80123455.msk

Lo que pensaba era utilizar un for each:


Set fso = CreateObject("Scripting.FileSystemObject")
Set carpeta = fso.GetFolder(camino)
For Each archivo in Carpeta.Files
if len(Archivo.name)=16  then
fso.MoveFile archivo.path,  archivo.name
end if
next
el problema es que no se como filtrar los nombres para que me sustituya el _100 por nada.

Vamos como se hace en msdos.

Rename 8???????_100.msk 8???????.msk

Es que ya no se que mas probar.

¿Porque la opción replace solo se utiliza para reemplazar texto? ¿No?

¿O se puede utilizar para reemplazar dígitos de un nombre de archivo?

Estoy pensando en que el script me haga un bath automáticamente y ejecutarlo para renombrar los ficheros.
Pero creo que es un poco trampa.
Quiero aprender con vbscript y no hacer un apaño con un bath.

Un saludo a todos y gracias por vuestro tiempo.


« Última modificación: 27 Octubre 2009, 00:37 am por tonilogar » En línea

No porque discrepe de tu opinión intento ofenderte.

Un saludo a todos y gracias por vuestro tiempo.
Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: ¿como renombrar un grupo de ficheros? [vbscript]
« Respuesta #1 en: 18 Octubre 2009, 00:27 am »

Primero que nada bienvenido al foro :P

Luego .. tu segundo code, el del for each haría bien el trabajo, y para quitar el "_100.msk" deberías de cambiar esta línea:

Código
  1. fso.MoveFile archivo.path, replace(archivo.name, "_100.msk", ".msk")
El replace se utiliza para reemplazar texto, pero ten en cuenta que el nombre de un archivo no es más que texto :D

Saludos


En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
tonilogar

Desconectado Desconectado

Mensajes: 55


Ver Perfil
Re: ¿como renombrar un grupo de ficheros? [vbscript]
« Respuesta #2 en: 18 Octubre 2009, 01:00 am »

Gracias por tu ayuda eres un rayo.

Pues no se lo que escribo mal pero me peta.

Código:
Set fso = CreateObject("Scripting.FileSystemObject")
Set carpeta = fso.GetFolder("C:\")
For Each archivo in Carpeta.Files
if len(Archivo.name)=16 then
fso.MoveFile archivo.path, replace(archivo.name, "_100.msk", ".msk")
end if
next
« Última modificación: 18 Octubre 2009, 01:10 am por Novlucker » En línea

No porque discrepe de tu opinión intento ofenderte.

Un saludo a todos y gracias por vuestro tiempo.
Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: ¿como renombrar un grupo de ficheros? [vbscript]
« Respuesta #3 en: 18 Octubre 2009, 01:09 am »

En que línea ... que dice exactamente?

Saludos

P.D: usa las etiquetas de code, o las etiquetas GeSHI para que sea más legible
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
tonilogar

Desconectado Desconectado

Mensajes: 55


Ver Perfil
Re: ¿como renombrar un grupo de ficheros? [vbscript]
« Respuesta #4 en: 18 Octubre 2009, 01:12 am »

Line : 6
Char: 1
error ; File already exist
code: 800A003A
En línea

No porque discrepe de tu opinión intento ofenderte.

Un saludo a todos y gracias por vuestro tiempo.
tonilogar

Desconectado Desconectado

Mensajes: 55


Ver Perfil
Re: ¿como renombrar un grupo de ficheros? [vbscript]
« Respuesta #5 en: 18 Octubre 2009, 01:16 am »

Cuando solo pongo un fichero para probar:
80123456_100.msk me lo borra

pero si pongo 2
80123456_100.msk
80123457_100.msk
Creo que a los dos ficheros le pone el mismo nombre por eso sale el error de que el fichero ya existe ¿norrr?
En línea

No porque discrepe de tu opinión intento ofenderte.

Un saludo a todos y gracias por vuestro tiempo.
tonilogar

Desconectado Desconectado

Mensajes: 55


Ver Perfil
Re: ¿como renombrar un grupo de ficheros? [vbscript]
« Respuesta #6 en: 18 Octubre 2009, 01:22 am »

Noooo me estoy equivocando, quieto parado.
Los ficheros me los renombrar correctamente, y me los coloca en el mismo directorio del fichero VBS.
Lo único que falta es que le ponga la dirección correcta, donde quiero los ficheros renombrados.
En línea

No porque discrepe de tu opinión intento ofenderte.

Un saludo a todos y gracias por vuestro tiempo.
tonilogar

Desconectado Desconectado

Mensajes: 55


Ver Perfil
Re: ¿como renombrar un grupo de ficheros? [vbscript]
« Respuesta #7 en: 18 Octubre 2009, 01:25 am »

Ya esta solucionado, el trozo de script queda así.


Código
  1. Set fso = CreateObject("Scripting.FileSystemObject")
  2. Set carpeta = fso.GetFolder("C:\")
  3. For Each archivo in Carpeta.Files
  4. if len(Archivo.name)=16 then
  5. fso.MoveFile archivo.path, replace ("C:\" & archivo.name, "_100.msk", ".msk")
  6. end if
  7. next

Gracias Novlucker por tu ayuda, no sabes cuantos cabezazos me he dado con este script.
Un saludo a todos.
« Última modificación: 18 Octubre 2009, 01:27 am por Novlucker » En línea

No porque discrepe de tu opinión intento ofenderte.

Un saludo a todos y gracias por vuestro tiempo.
Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: ¿como renombrar un grupo de ficheros? [vbscript]
« Respuesta #8 en: 18 Octubre 2009, 01:27 am »

Intenta moviendolos a otra carpeta, quizás el problema esta en que cuando lo mueves dentro de la misma, el bucle se confunde y vuelve a revisar el mismo fichero.

Saludos
Advertencia - mientras estabas escribiendo, fueron publicadas 2 respuestas. Probablemente desees revisar tu mensaje.


Bueno, veo que ya esta solucionado  :P

Saludos
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
(SOLUCIONADO) ¿Como renombrar un archivo o carpeta con el mismo nombre?
.NET (C#, VB.NET, ASP)
Eleкtro 2 10,460 Último mensaje 19 Diciembre 2012, 20:11 pm
por Eleкtro
Renombrar ficheros
Windows
drp60343 1 2,399 Último mensaje 19 Agosto 2014, 13:35 pm
por Eleкtro
Ayuda renombrar archivos con VBScript
Scripting
guillehampp 3 3,788 Último mensaje 28 Enero 2015, 17:10 pm
por Flamer
[CMD] script copiar y renombrar varios ficheros
Scripting
Mendozak47 1 3,419 Último mensaje 7 Febrero 2018, 22:21 pm
por Eleкtro
renombrar ficheros con distintos nombres
Scripting
500DRIFT 3 5,145 Último mensaje 12 Agosto 2022, 00:09 am
por 500DRIFT
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines