'método que cuenta los archivos  de TEMP después del borrado
    'estos archivos son los que no han podido ser borrados porque están en uso
    Protected Sub listadoPost()
        Try
            'variables para guardar el nº de archivos
            'iCuentaTempPost = nº de archivos en la raíz de TEMP
            'iCuentaSubdirPost = nº de carpetas en la raíz de TEMP
            'iCuentaSubdirFilesPost = nº de archivos en las carpetas de la raíz de TEMP
            Dim iCuentaTempPost, iCuentaSubdirPost, iCuentaSubdirFilesPost As Integer
            'la clase DirectoryInfo expone métodos de instancia para crear, mover y 
            'enumerar archivos en directorios y subdirectorios
            'se utiliza para operaciones típicas como copiar, mover, cambiar de nombre,
            'crear y eliminar directorios
            Dim dirTemp As New DirectoryInfo(rutaTemp)
            'comprobar si el directorio existe
            If dirTemp.Exists = True Then
                'contar los archivos de la raíz de TEMP (no en subdirectorios),
                iCuentaTempPost = dirTemp.GetFiles.Length
                '
                'ahora no hace falta contar los archivos de las subcarpetas pues el método
                'dirTemp.Delete(True) las ha eliminado
                'contar todos los subdirectorios de TEMP
                'Dim dirSub As FileSystemInfo() = dirTemp.GetDirectories()
                'iCuentaSubdirPost = dirSub.Length
                'contar todos los archivos de cada subdirectorio (sólo en el primer nivel de subdirectorios)
                'Dim dirTemp2 As New DirectoryInfo(rutaTemp)
                'For Each dirTemp2 In dirSub
                '    iCuentaSubdirFilesPost += dirTemp2.GetFileSystemInfos.Length
                'Next
                '
                'nº de archivos borrados hasta la fecha + nº de archivos borrados en la ejecución actual
                lCuentaBorrados = lCuentaBorrados + (iCuentaTempAll - iCuentaTempPost)
                '
                'escribir el nº de archivos en un archivo de texto guardado en %WINDIR%
                'el archivo se llama C:\Windows\Borrar_TEMP.txt (siendo %WINDIR% = C:\Windows en este caso)
                'las clases Stream.Reader y Stream.Writer permiten tratar con archivos de texto secuenciales
                Dim swEscritor As StreamWriter
                'variable para la primera línea del archivo de texto
                Dim sLinea As String
                ' StreamWriter recibe 3 parámetros:
                '- String con la ruta al archivo
                '- True para añadir texto al existente, False para sobreescribir el texto existente
                '- codificación de caracteres que se utilizará (default: página de códigos ANSI usada por el sistema)
                swEscritor = New StreamWriter(rutaTxt, False, Encoding.Default)
                sLinea = CStr(lCuentaBorrados)
                'escribir el valor de lCuentaBorrados en la primera línea
                swEscritor.WriteLine(sLinea)
                'cerrar el archivo
                swEscritor.Close()
                '
                'mostrar información en la etiqueta de texto
                'variable iCuentaTempAll --> total de archivos encontrados antes de borrar TEMP
                'restándole los archivos no borrados por estar en uso --> archivos borrados realmente
                Me.Label2.Text = (iCuentaTempAll - iCuentaTempPost).ToString
                'variable lCuentaBorrados --> nº de archivos borrados hasta la fecha + nº de archivos borrados en la ejecución actual
                If lCuentaBorrados = 0 Then
                    Me.Label3.Text = "Ningún archivo"
                Else
                    Me.Label3.Text = lCuentaBorrados.ToString("#,#") & " archivos"
                End If
            Else
                'crear el directorio temporal en caso de que no exista
                'algunos programas arrancan con errores si no detectan la presencia del directorio definido en TEMP
                'por ejemplo: Visual Studio da error de compilador, Media Player no inicia correctamente...
                dirTemp.Create()
                Me.Label1.Text = "0"
                Me.Label2.Text = "0"
            End If
            'capturar excepciones
        Catch pollo As Exception
            MessageBox.Show("AVISO: " & pollo.Message, "Aviso del programa", MessageBoxButtons.OK)
            Application.Exit()
        End Try
    End Sub