Foro de elhacker.net

Seguridad Informática => Análisis y Diseño de Malware => Mensaje iniciado por: cybercristina30 en 4 Agosto 2016, 09:34 am



Título: Archivo vbs que borre carpeta escritorio.
Publicado por: cybercristina30 en 4 Agosto 2016, 09:34 am
he implementado este código pero me da error alguien sabe donde esta el fallo?
Quiero borrar todas las carpetas y archivos contenidos en una carpeta en el escritorio que se llama pepo.

On Error Resume Next

strDir = "C:\Desktop\pepo"

Set fso = CreateObject("Scripting.FileSystemObject")

Set f = fso.GetFolder(strDir)

Set fc = f.Files

For Each f1 in fc

fso.DeleteFile f1, True

Next


Título: Re: Archivo vbs que borre carpeta escritorio.
Publicado por: tincopasan en 4 Agosto 2016, 10:31 am
pues,que dirección de escritotio más rara! ¿y el user? revisa la dirección que estás pasando. Cuando pongas errores poné que error te da así no hay que interpretar todo el código. Que nic más k


Título: Re: Archivo vbs que borre carpeta escritorio.
Publicado por: cybercristina30 en 4 Agosto 2016, 21:35 pm
tienes razón el fallo esta en la ruta entonces asi estaría bien?
Suponiendo que no sabes el nombre de usuario:
"c:\user\%usuario%\Desktop\pepo"
sería correcto? Me puedes escribir si no lo es como sería. Gracias. Cris.


Título: Re: Archivo vbs que borre carpeta escritorio.
Publicado por: MCKSys Argentina en 4 Agosto 2016, 23:41 pm
La variable de entorno USERPROFILE apunta a la carpeta del usuario.

Si le agregas Desktop ya tendras en path completo.

En tu codigo vas a tener que usar ExpandEnvironmentStrings (https://msdn.microsoft.com/en-us/library/dy8116cf(v=vs.84).aspx)

Saludos!


Título: Re: Archivo vbs que borre carpeta escritorio.
Publicado por: cybercristina30 en 5 Agosto 2016, 15:22 pm
Así estaría bien? Gracias por tu tiempo. Cris.

On Error Resume Next
set WshShell = WScript.CreateObject("WScript.Shell")
WScript.Echo "WinDir is " & WshShell.ExpandEnvironmentStrings("%WinDir%")
strDir = "C:\%userprofile%\pepo"
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(strDir)
Set fc = f.Files
For Each f1 in fc
fso.DeleteFile f1, True
Next

 
 
 
 
 



 



Título: Re: Archivo vbs que borre carpeta escritorio.
Publicado por: tincopasan en 5 Agosto 2016, 22:58 pm
2 cosas:
1) también podrías usar  SpecialFolders para obtener las rutas de las carpetas especiales
en este caso:
Código
  1. variable= WshShell.SpecialFolders("Desktop")


2)si tenés duda del resultado visualizalo!
con el que ya usas:
Código
  1. WScript.Echo  WshShell.SpecialFolders("Desktop")

o con :
Código
  1. msgbox (variable)

Dicho sea de paso esto tendría que estar en scripting


Título: Re: Archivo vbs que borre carpeta escritorio.
Publicado por: cybercristina30 en 7 Agosto 2016, 21:26 pm
Ok gracias por la respuesta pero quería saber si el programa que he escrito funcionaria o tengo que cambiar algo, quiero hacerlo lo mas sencillo posible ya que mi nivel actual de programación es bajo.


Título: Re: Archivo vbs que borre carpeta escritorio.
Publicado por: tincopasan en 8 Agosto 2016, 05:21 am
código cambiado:
Código
  1. On Error Resume Next
  2. set WshShell = WScript.CreateObject("WScript.Shell")
  3. WScript.Echo "WinDir is " & WshShell.ExpandEnvironmentStrings("%WinDir%")
  4. strDir =  WshShell.SpecialFolders("Desktop")+"\pepo"      '1)
  5. msgbox strDir                                                               '2)  
  6. Set fso = CreateObject("Scripting.FileSystemObject")
  7. Set f = fso.GetFolder(strDir)
  8. Set fc = f.Files
  9. For Each f1 in fc
  10. msgbox f1                                                            '2)
  11. fso.DeleteFile f1, True
  12. Next
  13.  

ahora bien...
Citar
Ok gracias por la respuesta pero quería saber si el programa que he escrito funcionaria o tengo que cambiar algo
No funciona ni a palos!!! ¿por qué no lo probás?

Citar
quiero hacerlo lo mas sencillo posible

con solo el cambio 1) con respecto a tú código  ya debería funcionar, ¡¡ guarda con lo complicado del cambio!! y además ya te lo había dicho.

Citar
ya que mi nivel actual de programación es bajo.
pues si es bajo, lo cual en realidad no es un problema porque estudiando un poco se supera, lo preocupante por lo inexistente es tu nivel de lectura y compresión(ya no tiene solución).

lo que puse como "2)" en el código muestra el valor de las variables aunque es innecesario, no era tan díficil de entender para ver donde está mal lo que hiciste.

Citar
Quiero borrar todas las carpetas y archivos contenidos en una carpeta en el escritorio que se llama pepo.

éste código no borra carpetas pero ni loco lo pongo, si total mi nivel de castellano es muy malo.