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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [AYUDA][VBS] Duda sobre la copia y renombrado automatico de archivos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [AYUDA][VBS] Duda sobre la copia y renombrado automatico de archivos  (Leído 5,049 veces)
danny920825

Desconectado Desconectado

Mensajes: 175


Ver Perfil WWW
[AYUDA][VBS] Duda sobre la copia y renombrado automatico de archivos
« en: 7 Febrero 2013, 22:51 pm »

Hola gente, me disculpan si este tema se trato en otro post, pero es que el tema de scripting tiene demasiadas paginas y ponerme a buscar en cada una de ellas me demoraria mas de lo que seria si alguien me ayudara y despues cerraran el tema.

Weno, a lo que iba, resulta que estoy aprendiendo vbs gracias a los post que han ido dejando en este foro, gracias por adelantado, y ahora se me ocurrio la idea de hacer un script que cuando lo ejecute, copie la informacion de una tarjeta Compact Flash para la carpeta de mi turno de trabajo, pero que no la copie asi mismo, sino que la renombre al terminar con un nombre que yo le de al terminar la copia
Ej:
Copiar de G:\kijo.log a d:\danny\07-02\nombre-especificoa

yo estaba pensando en algo asi como

Código:
set objfso = createobject("scripting.filesystemobject")
   if exist ("d:\danny\07-02") then
     objfso.copyfile ("F:\kijo.log", "d:\danny\07-02\", false)
     chapa = inputbox("Escriba la chapa del Vehiculo")
     objfso.renamefile ("d:\danny\07-02\kijo.log", chapa)
     msgbox ("Se ha copiado el archivo.")
   else
     set carpeta = objfso.createfolder ("d:\danny\07-02")
     objfso.copyfile ("F:\kijo.log", "d:\danny\07-02\")
     chapa = inputbox("Escriba la chapa del Vehiculo")
     objfso.renamefile ("d:\danny\07-02\kijo.log", chapa)
     msgbox ("Se ha copiado el archivo despues de crear la carpeta.")
exit

pero por supuesto, si lo pongo aki es xq no me funciona verdad?? por tanto si alguien pudiera ayudarme lo agradeceria.


« Última modificación: 8 Febrero 2013, 01:00 am por danny920825 » En línea

"Los que reniegan de Dios es por desesperación de no encontrarlo".
   Miguel de Unamuno
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.821



Ver Perfil
Re: [AYUDA][VBS] Duda sobre la copia y renombrado automatico de archivos
« Respuesta #1 en: 7 Febrero 2013, 23:15 pm »

1. ¿Es totálmente necesario que séa en VBS?

2. Como sugerencia, si lo que siempre vas a querer copiar es el directorio raíz del dispositivo USB, entonces yo me ahorraría la parte de abrir un user-prompt para preguntar por el directorio,
en lugar de eso, le pondría una etiqueta (label) al dispositivo y usaria el script para que reconociese el dispositivo que quieres copiar automáticamente leyendo el label de dicha unidad, obviamente el label que le deberías dar al USB debería de ser el mismo que va a usar tu script.

Pseudocode rápido:

Código:
(dim) declarar "variable label" = "test"
(dim) declarar "variable directorio" = "C:\carpeta\"

(for) por cada "unidad" en "unidades conectadas"
    (if) si "unidad" es "usb" (and) y el label de "unidad" es igual a "variable label":
         copiar el directorio raíz de "unidad" a "variable directorio"
    (else) de lo contrario:
         (next) siguiente "unidad"

Saludos.


« Última modificación: 7 Febrero 2013, 23:24 pm por EleKtro H@cker » En línea

danny920825

Desconectado Desconectado

Mensajes: 175


Ver Perfil WWW
Re: [AYUDA][VBS] Duda sobre la copia y renombrado automatico de archivos
« Respuesta #2 en: 19 Septiembre 2013, 22:34 pm »

gracias por el intento de ayuda, comprendi la idea, pero mis conocimientos de vbs lamentablemente no me dan para tanto, aunke espero ir mejorando, es que soy algo inconstante en esto de ser autodiacta y no me mantengo mucho tiempo estudiando. La cuestion y a la vez el pollo del arroz con pollo es como renombrar un archivo en vbs? porque yo puedo buscar por la red, pero me demoro mucho porque estoy en cuba y mi conexion es pesima, imaginate que la descarga es de 9kb/s, por eso prefiero preguntar a buscar eternamente. Si me pueden ayudar, lo agradezco desde ahora, lo que necesito saber es como renombrar un archivo y como saber cuando tengo un dispositivo usb nuevo conectado, asi puedo completar el trabajo que trato de hacer. gracias
En línea

"Los que reniegan de Dios es por desesperación de no encontrarlo".
   Miguel de Unamuno
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.821



Ver Perfil
Re: [AYUDA][VBS] Duda sobre la copia y renombrado automatico de archivos
« Respuesta #3 en: 20 Septiembre 2013, 05:52 am »

· Como renombrar un archivo:

Código
  1. File   = "C:\Archivo.txt"
  2. Rename = "C:\Archivo Renombrado.txt"
  3.  
  4. Set FSO = CreateObject("Scripting.FileSystemObject") ' Creo el objeto
  5.  
  6. If FSO.FileExists(File) Then ' Si el archivo existe...
  7.    FSO.MoveFile File, Rename ' Renombro el archivo
  8.    wscript.Quit(0) ' Y termino la ejecución con código de error negativo.
  9. Else ' De lo contrario...
  10. Wscript.Echo "Archivo no encontrado" ' Muestro error
  11. wscript.Quit(1) ' Y termino la ejecución con código de error positivo.
  12. End If
  13.  
  14. ' NOTA: Para renombrar un archivo, hay que moverlo a la misma localización de directorio pero especificando un nombre distinto para el archivo.
  15. '       Aunque quizás no lo aprezca, esto es lo mismo que hace Windows de forma interna.
  16.  


· Como monitorizar la inserción de dispositivos USB (No lo he testeado en profundidad)

Código
  1. Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
  2.  
  3. Set wmiEvent = objWMIService.ExecNotificationQuery( _
  4.    "Select * From __InstanceCreationEvent Within 1" & _
  5.        " Where TargetInstance ISA 'Win32_PnPEntity'")
  6.  
  7. While True
  8.    Set objEvent = wmiEvent.NextEvent()
  9.    Set objUSB = objEvent.TargetInstance
  10.    strName = objUSB.Name
  11.    strDeviceID = objUSB.DeviceID
  12.    Set objUSB = Nothing
  13.  
  14.    Set colDrives = objWMIService.ExecQuery( _
  15.        "Select * From Win32_LogicalDisk Where DriveType = 2")
  16.  
  17.    For Each objDrive in colDrives
  18.        strDriveLetter = objDrive.DeviceID
  19.    Next
  20.  
  21.    Set colDrives = Nothing
  22.  
  23.    WScript.Echo strName & " was mounted as " & strDriveLetter
  24. Wend
  25.  
  26. Set wmiEvent = Nothing
  27. Set objWMIService = Nothing
En línea

danny920825

Desconectado Desconectado

Mensajes: 175


Ver Perfil WWW
Re: [AYUDA][VBS] Duda sobre la copia y renombrado automatico de archivos
« Respuesta #4 en: 13 Octubre 2013, 22:10 pm »

un millon de gracias por ambos codigos, ahora mismo me propongo a estudiarlos para aprender que es lo que hace y que no sea solo algo mecanico. Cualkier otra duda se que aki encontrare la respuesta
En línea

"Los que reniegan de Dios es por desesperación de no encontrarlo".
   Miguel de Unamuno
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ayuda con renombrado de archivo txt em batch
Scripting
eltioted 1 2,210 Último mensaje 30 Junio 2015, 00:19 am
por Eleкtro
[VBS] Detectar nombre en renombrado masivo
Scripting
ovichan 0 1,520 Último mensaje 28 Julio 2015, 00:04 am
por ovichan
Duda para hacer una copia de archivos en windows 10
Windows
F.F 2 2,836 Último mensaje 28 Septiembre 2015, 13:13 pm
por Orubatosu
Ayuda BATCH copia archivos
Scripting
joaquinrekpo 0 3,155 Último mensaje 12 Marzo 2017, 06:25 am
por joaquinrekpo
copiado y renombrado de archivos según lista
Scripting
biobit 2 3,927 Último mensaje 9 Septiembre 2018, 13:53 pm
por biobit
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines