Chamuanza Posted October 12, 2018 at 06:22 PM Report #612057 Posted October 12, 2018 at 06:22 PM (edited) Um bem Aja a todos Necessito fazer a listagem em listbox de ficheiros da reciclagem em que me apareça o tamanho. Tenho este código em que consigo listar os ficheiros mas não sei como fazer para obter o Size dos mesmos. Agradeço uma ajuda. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load Const Megas As Integer = 1048576 Dim TotalMegas As Double Dim s As String() = {} Dim File As System.IO.FileInfo Dim tmp As String = "C:\$Recycle.Bin\S-1-5-21-2615594602-2052165265-2723691852-1000\" Dim soma As Integer = 0 Try ' I run the program. ' Process.Start("C:\$Recycle.Bin\S-1-5-21-2615594602-2052165265-2723691852-1000\") s = System.IO.Directory.GetFiles(tmp) For i As Integer = 0 To s.Length - 1 s(i) = s(i).Replace(tmp, "") ListBox1.Items.Add(New String(s(i))) Next For i As Integer = 0 To s.Length - 1 File = New System.IO.FileInfo(tmp & s(i)) soma += File.Length Next TotalMegas = FormatNumber(soma / Megas, 2) Label1.Text = "O Tamanho da Reciclagem é: " & vbCrLf & TotalMegas & " MB e " & "possui " & s.Length - 1 & " Ficheiros." ' Label1.Text = "O Tamanho da Reciclagem é: " & vbCrLf & TotalMegas & " MB" Catch ex As Exception ' I show an error message if the sub generates an error. MessageBox.Show("Error message: " & ex.Message) End Try Edited October 13, 2018 at 03:30 PM by Chamuanza
ribeiro55 Posted October 13, 2018 at 08:49 AM Report #612058 Posted October 13, 2018 at 08:49 AM Olá Chamuanza, O Size já tu tens na soma que estás a fazer. O membro Length do FileInfo é o tamanho do ficheiro, em bytes. Podes obter o tamanho em qualquer outra grandeza, simplesmente por dividir sucessivamente por 1024, por exemplo, para KB: Dim fi As New FileInfo("o caminho para o ficheiro") Console.WriteLine(String.Format("{0} ({1} kb)", fi.Name, Math.Round(fi.Length / 1024, 3))) Que sai algo como: 04_ERRO_1500x_00001.png (25.562 kb) Sérgio Ribeiro "Great coders aren't born. They're compiled and released""Expert coders do not need a keyboard. They just throw magnets at the RAM chips"
Chamuanza Posted October 13, 2018 at 03:31 PM Author Report #612060 Posted October 13, 2018 at 03:31 PM (edited) Olá ribeiro55 Agradeço desde já a ajuda, mas gostava de explicitar melhor a minha ideia Tenho uma aplicação para uso pessoal (para já) de correr a pasta da reciclagem e saber para além dos megas também o numero de ficheiros existentes. Sucede que na reciclagem estão 8 itens mas na contagem aparecem 38 e repetidos. Sei que os restantes são ficheiros de 1K penso que necessários para restaurar os mesmos quando é pedido. O que pretendo era colocar todos os ficheiros na listbox com a coluna de tamanho a fim de poder selecionar todos os que são diferentes de 1K, e assim ter o número de itens certos iguais ao que aparece na pasta do explorer do Windows10. Se calhar há uma maneira melhor e mais prática de obter o que pretendo? PS - Juntei o resto do código que faltava Obrigado pela atenção Edited November 2, 2018 at 04:34 PM by Chamuanza Dar o Topico com RESOLVIDO
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now