Visual Basic.NET - Saber tamaño de carpeta del usuario activo de windows

 
Vista:
Imágen de perfil de FernandoML
Val: 13
Ha aumentado su posición en 10 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Saber tamaño de carpeta del usuario activo de windows

Publicado por FernandoML (5 intervenciones) el 06/04/2021 02:26:46
Hola a todos

He probado ya varios codigos antes de realizar la pregunta pero no consigo lo que necesito.

En general necesito saber el tamaño de la carpeta del usuario activo de windows.
Como ya he dicho antes, he intentado realizarlo de varias maneras pero no consigo que me de el tamaño de esa carpeta en concreto.

Me podeis ayudar?
Uso Visual Studio 2013 y estoy realizando una aplicación en Windows Forms

Un saludo
Fernando
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Saber tamaño de carpeta del usuario activo de windows

Publicado por Phil Rob (1554 intervenciones) el 06/04/2021 16:00:33
Hola,

Este una parte de la solución :

1
2
Dim NombreDelUsario As String = Environment.UserName
Dim CarpetaDelUsario As String = Environment.SystemDirectory.Substring(0, 2) & "\Users\" & Environment.UserName

Espero que ese te ayudará ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Saber tamaño de carpeta del usuario activo de windows

Publicado por Phil Rob (1554 intervenciones) el 08/04/2021 15:52:25
Hola,

¿has encontrado la solucione?

Este código da casi el mismo valor que las "Propiedades" en el "Explorador" de Windows. Las diferencias vienen de la maniera de tratar los ficheros System, Hidden, ...
Esta solucione es mejora. Los métodos que leen de manera recursiva todas carpetas y ficheros del carpeta iníciale, dan menos buen resultados.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Dim CarpetaDelUsario As String = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) '   Directory.Substring(0, 2) & "\Users\" & Environment.UserName
 
Dim Tamana As Long = 0
Dim CantidadLineas As Integer = 0
Dim Contador As Integer = 0
 
System.Diagnostics.Process.Start("CMD.exe", " /C DIR " & CarpetaDelUsario & " /-c /s > XDD.PHR").WaitForExit()
Dim FicheroTmp As New StreamReader("XDD.PHR")
Do Until FicheroTmp.Peek = -1
    FicheroTmp.ReadLine()
    CantidadLineas += 1
Loop
FicheroTmp.Close()
FicheroTmp = New StreamReader("XDD.PHR")
Do Until Contador = CantidadLineas - 2
    FicheroTmp.ReadLine()
    Contador += 1
Loop
Dim InformacionTmp As String = FicheroTmp.ReadLine()
FicheroTmp.Close()
File.Delete("XDD.PHR")
 
InformacionTmp = InformacionTmp.Replace(" ", "#").Trim("#")
InformacionTmp = InformacionTmp.Substring(0, InformacionTmp.LastIndexOf("#"))
InformacionTmp = InformacionTmp.Substring(InformacionTmp.LastIndexOf("#") + 1)
 
Tamana = CType(InformacionTmp, Long)

Buenas tardes ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar