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
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
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.
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!
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
2 cosas:
1) también podrías usar SpecialFolders para obtener las rutas de las carpetas especiales
en este caso:
variable= WshShell.SpecialFolders("Desktop")
2)si tenés duda del resultado visualizalo!
con el que ya usas:
WScript.Echo WshShell.SpecialFolders("Desktop")
o con :
msgbox (variable)
Dicho sea de paso esto tendría que estar en scripting
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.
código cambiado:
On Error Resume Next
set WshShell = WScript.CreateObject("WScript.Shell")
WScript.Echo "WinDir is " & WshShell.ExpandEnvironmentStrings("%WinDir%")
strDir = WshShell.SpecialFolders("Desktop")+"\pepo" '1)
msgbox strDir '2)
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(strDir)
Set fc = f.Files
For Each f1 in fc
msgbox f1 '2)
fso.DeleteFile f1, True
Next
ahora bien...
CitarOk 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?
Citarquiero 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.
Citarya 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.
CitarQuiero 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.