'método que cuenta los archivos y las carpetas de TEMP antes del borrado Protected Sub listadoPre() Try 'variables para guardar el nº de archivos 'iCuentaTempPre = nº de archivos en la raíz de TEMP 'iCuentaSubdirPre = nº de carpetas en la raíz de TEMP 'iCuentaSubdirFilesPre = nº de archivos en las carpetas de la raíz de TEMP Dim iCuentaTempPre, iCuentaSubdirPre, iCuentaSubdirFilesPre 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) iCuentaTempPre = dirTemp.GetFiles.Length 'contar todos los subdirectorios de TEMP Dim dirSub As FileSystemInfo() = dirTemp.GetDirectories() iCuentaSubdirPre = 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 iCuentaSubdirFilesPre += dirTemp2.GetFileSystemInfos.Length Next 'mostrar información en la etiqueta de texto Me.Label1.Text = (iCuentaTempPre + iCuentaSubdirFilesPre).ToString 'valor de t = nº total de archivos encontrados antes de borrar TEMP iCuentaTempAll = (iCuentaTempPre + iCuentaSubdirFilesPre) ' 'leer el nº de archivos borrados hasta la fecha desde 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 srLector As StreamReader 'variable para la primera línea del archivo de texto Dim sLinea As String ' 'leer la primera línea y pasarla a lCuentaBorrados srLector = New StreamReader(rutaTxt) sLinea = srLector.ReadLine lCuentaBorrados = CLng(sLinea) 'cerrar el archivo srLector.Close() ' 'el método DirectoryInfo.Delete elimina una instancia de DirectoryInfo 'especificando si se van a eliminar los subdirectorios y los archivos (True o False) 'se asigna al directorio de archivos temporales dirTemp.Delete(True) Else 'si no existe el directorio TEMP Me.Label1.Text = "0" Me.Label2.Text = "0" End If 'capturar excepciones Catch pollo As Exception 'pasar por alto la excepción si la causa es no poder borrar archivos por estar en uso (excepción System.IO.IOException) Dim sTipo As String sTipo = "System.IO.IOException" If Not pollo.GetType.ToString = sTipo Then MessageBox.Show(pollo.Message, "Aviso del programa", MessageBoxButtons.OK) Application.Exit() End If End Try End Sub