¿Cómo eliminar un lote de archivos de extensión usando VB? ¿Entonces eliminarlo por completo?
Composición de hoy
Entorno de programación vb 6.0
Copie el siguiente código en un archivo de texto y cambie el nombre del archivo de texto a (Buscador de archivos (API)). vbp).
Tipo=Exe
referencia = * \G { 00020430-0000-0000-C000-00000000046 } # 2.0 # 0 #..\..\..\..\ ..\ WINDOWS \ system32 \ stdole 2 . TLB # Automatización OLE
objeto = { eab 22 AC 0-30c 1-11CF-A7EB-0000 c 05 bae0b } # 1.1 # shdocvw.dll<; /p>
referencia = * \G { 420 b 2830-e 718-1CF-893d-00a0c 9054228 } # 1.0 # 0 #..\..\..\..\..\ WINDOWS\ system32\ scrrun .dll # Microsoft Script Runtime
object = { 831 FDD 16-0C5C-11 D2-A9FC-0000 f 8754 da 1 } # 2.0 # 0; mscomctl.ocx
Formulario =Buscador de archivos (API). frm
Inicio="Form1 "
Archivo de ayuda=" "
ExeName32="FileSearch.exe "
Command32=" "
Nombre= "Proyecto 1 "
HelpContextID="0 "
CompatibleMode="0 "
MajorVer=1
MinorVer = 0
RevisionVer=0
AutoIncrementVer=0
ServerSupportFiles=0
Versión Nombre de la empresa = "Shi Ming "
Tipo de compilación=0
Tipo de optimización=0
FavorPentiumPro(tm)=0
CodeViewDebugInfo=0
NoAliasing=0
BoundsCheck=0
Comprobación de desbordamiento=0
FlPointCheck=0
FDIVCheck=0
UnroundedFP = 0
StartMode=0
Unrounded=0
Reservado=0
ThreadPerObject=0 p >
MaxNumberOfThreads=1
[MS Trading Server]
Autorefresh=1
Copie el siguiente código en un archivo de texto y colóquelo. El archivo de texto es renombrado a (Buscador de archivos (API)). frm).
Versión 5.00
object=" { 831 FDD 16-0C5C-11 D2-A9FC-0000 f 8754 da 1 } # 2.0 # 0 ";" mscomctl.ocx " p>
p>
Iniciar VB. Formulario Formulario 1
Caption = "Form1 "
Altura del cliente = 5640
Cliente izquierdo = 60
Cliente superior = 345
ClientWidth = 7995
LinkTopic = "Form1 "
Alto de escala = 5640
Ancho de escala = 7995
StartUpPosition = 3 'Valor predeterminado de la ventana
Iniciar VB. Botón de comando Comando 5
Caption = "Eliminar"
Alto = 330
Izquierda = 6360
TabIndex = 12
Arriba = 0
Ancho = 1050
Fin
Iniciar VB. Botón de comando Comando 4
Título = "Salir"
Alto = 330
Izquierda = 6360
TabIndex = 11
Arriba = 480
Ancho = 1050
Fin
Iniciar VB. Imagen del cuadro de imagen 1
Color de fondo = ampH00FFFFFF amp
Altura = 2985
Izquierda = 45 grados
EscalaAltura = 2925
p>Ancho de escala = 2745
TabIndex = 9
Superior = 2340
Ancho = 2805
Iniciar VB. ImagenImagen1
Alto = 2850
Izquierda = 45 grados
Arriba = 45
Visible = 0 'Falso
Ancho = 2670
Fin
Iniciar VB. Etiqueta Etiqueta1
Color de fondo = ampH00FFFFFF amp
Título = "Área de vista previa"
Fuente BeginProperty
Nombre = "ì" p>
Tamaño = 14,25
Juego de caracteres = 134
Peso = 700
Subrayado = 0 'Falso
Cursiva = 0 'False
Tachado = 0 'False
Atributo final
Altura = 330
Izquierda = 720°
TabIndex = 10
Superior = 1035
Ancho = 915
Fin
Fin
Iniciar VB . Marco Marco 3
Título = "Tipo de búsqueda/archivo"
Alto = 1320
Izquierda = 45 grados
TabIndex = 5
Superior = 945
Ancho = 2805
Iniciar VB.
Botón de comando Comando 3
Título = "Detener"
Habilitado = 0 'Falso
Alto = 285
Izquierda = 1800 p> p>
TabIndex = 8
Superior = 810
Ancho = 825
Fin
Iniciar VB. Botón de comando Comando 2
Caption = "Buscar"
Alto = 285
Izquierda = 810
TabIndex = 7
Arriba = 810
Ancho = 825
Fin
Iniciar VB. Cuadro combinado Combo2
Alto = 300
Izquierda = 180
TabIndex = 6
Texto = "Combo2 "
Arriba = 315
Ancho = 1815
Fin
Fin
Inicie MSComctlLib. Barra de estado Barra de estado 1
Alinear = 2 'Alinear abajo
Altura = 285
Izquierda = 0
TabIndex = 4 p>
Superior = 5355
Ancho = 7995
_ExtentX = 14102
_ExtentY = 503
_Versión = 393216 p>
Panel de inicio de propiedades { 8e 3867 a5-8586-11d 1-b 16A-00c 0f 0283628 }
Panel de números = 2
panel de inicio de propiedades 1 { 8e 3867 ab -8586-11d 1-b 16A-00c 0f 0283628 }
Propiedades finales
comenzarPropiedades Panel 2 { 8e 3867 ab-8586-11d 1-b 16A-00c 0f 0283628 }
AutoTamaño = 1
Objeto. ancho = 11007
Propiedad final
Propiedad final
Fin
Inicie MSComctlLib. ListView vista de lista 1
Altura = 4470
Izquierda = 2925
TabIndex = 3
Superior = 855
Ancho = 5010
_ExtentX = 8837
_ExtentY = 7885
MultiSelect = -1 'Verdadero
LabelWrap = -1 'Verdadero
HideSelection = -1 'True
_Version = 393217
ForeColor = -2147483640
BackColor = -2147483643
BorderStyle = 1
Apariencia = 1
NumItems = 0
Fin
Iniciar VB.
Marco Marco1
Caption = "Ruta de búsqueda"
Alto = 690
Izquierda = 45 grados
TabIndex = 0
Superior = 90
Ancho = 5685
Iniciar VB. Botón de comando Comando 1
Caption = "Examinar"
Alto = 285
Izquierda = 4365
TabIndex = 2
Arriba = 270
Ancho = 825
Fin
Iniciar VB. TextBoxText1
Alto = 285
Izquierda = 180
TabIndex = 1
Texto = "C:\ " p>
Arriba = 270
Ancho = 3795
Fin
Fin
Iniciar VB. Menú emergente Menú
Caption = "popMenu "
Visible = 0 'False
Iniciar VB. Menú mnuCopy
Caption = "Copiar a..."
Fin
Iniciar VB. Menú Lista de menús
Caption = "Seleccionar todo"
Fin
Iniciar VB. Selección de menú Menú
Caption="Selección inversa"
Fin
Iniciar VB. Menú mnuSelectNone
Caption = "Cancelar selección"
Fin
Iniciar VB. Menú mm
Título = "-"
Fin
Iniciar VB. Menú mnuDel
Caption = "Eliminar"
Fin
Iniciar VB. Nombre del menú
Caption = "Cambiar nombre"
Fin
Iniciar VB. Menú Menú
Caption = "Propiedad"
Fin
Fin
Fin
Propiedad VB_Name = "Form1 "
Atributo VB_GlobalNameSpace = False
Atributo VB_Creatable = False
Atributo VB_PredeclaredId = True
Atributo VB_Exposed = False
Función de declaración privada SHGetPathFromIDList Lib " shell 32 . dll "Alias" SHGetPathFromIDListA "(ByVal pidl es Long, ByVal pszPath es String) es Long
Función de declaración privada SHBrowseForFolder Lib " shell 32 . dll "Alias" SHBrowseForFolderA "(lpBrowseInfo As BROWSEINFO) es Long
El tipo privado BROWSEINFO se utiliza para seleccionar la estructura del cuadro de diálogo del directorio.
Sin embargo, siempre que
pidlRoot tenga la misma longitud
pszDisplayName en forma de cadena
lpszTitle en forma de cadena
ulFlags tienen la misma longitud
lpfn tiene la misma longitud
lParam tiene la misma longitud
las imágenes tienen la misma longitud
Tipo final
Constante privada BIF_RETURNONLYFSDIRS = amp;H1 'Es necesario verificar el valor de esta constante.
Lynders Long privado
Pflag privado booleano
Utilice la siguiente declaración cuando muestre el cuadro de diálogo de propiedades del archivo.
Tipo privado SHELLEXECUTEINFO
cbSize tiene la misma longitud
fMask tiene la misma longitud
hwnd tiene la misma longitud
lpVerb como cadena de caracteres
lpFile como cadena
lpParameters como cadena
lpDirectory como cadena
Cuántos años
Hinstap Mientras
Campo Opcional
lpIDList Mientras
lpClass Mientras
hkeyClass Mientras
dwHotKey es Long
La misma longitud que hIcon
La misma longitud que hProcess
Tipo final
Constante privada SEE_MASK _ INVOKEIDLIST = ampHC
Constante privada VER _ MÁSCARA _ NOCLOSEPROCESS = ampH40
Constante privada VER _ MÁSCARA _ FLAG _ NO _ UI = ampH400
SEI privada como SHELLEXECUTEINFO
La función de declaración privada ShellExecuteEX Lib "Shell32.dll "alias" ShellExecuteEX "(SEI como SHELLEXECUTEINFO) es larga
La siguiente es la declaración para usar la API para encontrar el archivo.
Función declarada de forma privada FindFirstFile Lib "kernel32 "alias" findfirst filea "(el nombre de archivo de ByVal LP es una cadena, lpFindFileData es WIN32_FIND_DATA) es Long
Función declarada de forma privada FindNextFile Lib "kernel32 "alias " FindNextFileA" (ByVal hFindFile es Long, lpFindFileData es WIN32_FIND_DATA) es Long
Función de declaración privada FindClose Lib " kernel 32 "(ByVal hFindFile tiene la misma longitud) tiene la misma longitud
Atributos de archivo de constante privada Directorio = ampH10
Constante privada MAX_PATH = 260
Tiempo de archivo de tipo privado
Tipo largo dwLowDateTime
Tipo largo dwHighDateTime
Tipo final
Tipo privado WIN32_FIND_DATA
DwFileAttributes largos
ftCreationTime como hora del archivo
ftLastAccessTime como FILETIME
ftLastWriteTime como FILETIME
nFileSizeHigh As Long
nFileSizeLow es tan largo como
dwReserved0
dwReserved1 es tan largo
cFileName en forma de cadena * MAX _ PATH
c se reemplaza por String * 14
Tipo de fin
Subcomando privado 1_Click()
Dim bi como BROWSEINFO
Dim rtn es una cadena, pidl es una cadena, la ruta es una cadena
Posición de longitud variable
bi.hOwer = Me
Bi.lpszTitle = "Seleccione directorio" Cuadro de diálogo 'Seleccionar directorio'
bi ul flags = BIF _ RETURNONLYFSDIRS
pidl. = SHBrowseForFolder(bi )
Ruta = espacio(512)
SHGetPathFromIDList pidl, ruta
pos = InStr(ruta, Chr(0))
rtn = left(ruta, posición 1)
Si rtn = " ", salga de Sub
Texto1. Texto = rtn
Finalizar conector
Subcomando privado 2_Click()
Atenuar fso como nuevo objeto del sistema de archivos
Continuar en caso de error Siguiente
Pflag = False
Comando 3. habilitado=Verdadero
ListView1. Listar elementos. Borrar
lindex = 1
Comando 2. enable=false
pantalla. MousePointer =Reloj de arena
Barra de estado1.paneles (1). text = "Espere..."
' Findfile trim (text1.text), trim (combo2.text)' llama al proceso de búsqueda.
Comando 2. enable=true
Comando 3. enable=false
pantalla. Puntero del mouse = 0
Barra de estado1.paneles (2). texto = " * * * Sí "; Vista de lista 1. cuenta amp "archivo"
Barra de estado1. Panel(1). Texto = "Listo"
Conector final
FindFile secundario privado (sPath es una cadena, sFile es una cadena)
Atenuar xf como WIN32_FIND_DATA
Dim ff como WIN32_FIND_DATA
Dim findhandle tiene la misma longitud
Dim lFindFile tiene la misma longitud
Mostrar Dstr como una cadena
Atenuar fso como un nuevo objeto del sistema de archivos
Marcar f como un archivo
Marcar cPath como una cadena
Continuar con el siguiente paso si ocurre un error
cPath = IIf(Len(sPath)>3.spas amp" \",sPath)
lFindFile = buscar el primer archivo(cPath amp;sFile,ff)
Paneles de barra de estado1. text = "Buscando"; spath
Si lFindFile gt entonces 0
do
Establezca f = fso. GetFile(cPath&ff.cFileName)
Vista de lista 1. Listar elementos. Agregue lindex, f.Name
ListView1. Lista de elementos (lindex). Niño(1) = f.ParentFolder
ListView1. Lista de elementos (lindex). Subclave(2) = IIf(f. Tamaño lt; 1024, formato(f.Tamaño, " #####Bytes"), formato (f.Tamaño \ 1024, " ###### KB ") )
Vista de lista 1. Lista de elementos (lindex). niño(3) = f .tipo
ListView1. Lista de elementos (lindex). Child(4) = Left(f.DateLastModified, Len(CStr(f . DateLastModified))-3)
lindex = lindex 1
Bucle hasta (FindNextFile(lFindFile, ff) = 0)
FindClose lFindFile
Si es Pflag, salga de Sub
Fin si...
buscar identificador = buscar el primer archivo (cPath & "*.*,xf)
Actividades múltiples
No preste atención a si se trata de un directorio.
Si (xf.dwFileAttributes y FILE_ATTRIBUTE_DIRECTORY) entonces
if Asc(xf . cfilename) lt; gtAsc(" . ") entonces
Dstr = cPath Left (xf.cFileName, InStr(xf.cFileName, Chr(0)) - 1)
Encuentra el archivo Dstr, sFile
Terminará si...
Terminará si...
Si Pflag entonces
BuscarCerrar identificador de búsqueda
Salir del conector
Terminará si. ..
Bucle hasta (FindNextFile(findhandle, xf) = 0)
FindClose findhandle
Conector final
Subcomando privado 3_Click( )
Pflag = true
Conector final
Subcomando privado 4_Click()
Fin
Conector final
Subcomando privado 5_Click()
Marcar I como un número entero
i = ListView1. Listar elementos. Cuente
Cuando gt0
elimino ListView1. Listar elementos (1). child(1) y "\" amp listview1. Elemento de lista (1)
i = i - 1
Anillo
¡Todos los archivos "MsgBox" han sido eliminados! ~"
Conector final
Subform_Load() privado
Vista de lista 1. Vista = lvwReport
Vista de lista 1. encabezados de columna. agregar, "nombre de archivo"
vista de lista 1. encabezados de columna agregar, "carpeta"
vista de lista 1. encabezados de columna agregar, "Tamaño"
vista de lista 1. encabezados de columna agregar, "tipo"
vista de lista 1. encabezados de columna agregar, "fecha de modificación"
ListView 1. ancho = 2. 3200
Combinación. 2. AddItem "*.mp3"
Combinación 2. wav "
Combinación 2. AddItem "*. "
Combinación 2. AddItem "*. gif "
Combinación 2. AddItem "*. avi "
Combinación 2. AddItem "*. rm "
Combinación 2. AddItem "*. Fondo Soberano"
Cartera 2. AddItem "*. jpg "
Combinación 2. AddItem "*. cur "
Combinación 2. AddItem "*. ico "
Combinación 2. Texto = " "
Combinación 2. ListIndex = 0
Conector final
Vista de lista secundaria secundaria 1 _ Haga clic en el elemento (elemento ByVal como MSComctlLib.
ListItem)
Marcar Fpath como una cadena
Si ocurre un error, continúe con el siguiente paso
Imagen1. stretch=false
Imagen1. imagen = cargar imagen (GPath(listview 1.SelectedItem.Index)&listview1.SelectedItem.Text)
if Imagen1. Imagen lt gthen 0
Etiqueta1. visible = false
si Imagen1. Ancho gt imagen 1. Luego ancho proporcional
Imagen1. stretch=Verdadero
Imagen1. ancho = imagen1. Ancho de escala
Imagen1. Izquierda = 0
Otro
Imagen1. Izquierda = (Picture1.ScaleWidth - Ancho de Imagen1)/2
Terminará si...
Si Imagen1. altura gt imagen 1. Entonces altura
Imagen1. stretch=Verdadero
Imagen1. altura = Imagen1. Altura de escala
Imagen1. Arriba = 0
Otro
Imagen1. Top = (Imagen1.ScaleHeight - Altura de Imagen1)/2
Terminará si...
Imagen1. Visible = Verdadero
Terminará si...
Conector final
Vista de lista secundaria privada 1 _ MouseDown(El botón es un número entero, Mayús es un número entero, x es Single, y es Single)
Si Button = 2, entonces
Menú emergente PopupMenu
Terminará si...
Conector final
p>
Private Sub mnuAttr_Click()'Muestra el cuadro de diálogo de propiedades del archivo.
Si ocurre un error, continúa con el siguiente paso
Usa SEI
. tamañocb = Len(SEI)
. fMask = SEE_MASK_NOCLOSEPROCESS o SEE_MASK_INVOKEIDLIST o SEE_MASK_FLAG_NO_UI
. hwnd = Formulario1.hwnd
. lpVerb = "propiedad"
. lpFile = GPath(ListView1.SelectedItem.Index) y ListView1. Seleccione EditItem.Text
. lpDirectorio = vbNullChar
. lpParameters = vbNullChar
. nMostrar = 0
. hInstApp = 0
. lpIDList = 0
. lpClass = vbNullChar
. hkeyClass = 0
. dwHotKey = 0
. hProceso = 0
.
hIcon = 0
Termina con...
ShellExecuteEX SEI
Conector final
Sub privado mnuCopy_Click()
Dim bi como BROWSEINFO
Dim rtn es una cadena, pidl es una cadena, ruta es una cadena
Posición de longitud variable
Dim fso como nuevo Objeto del sistema de archivos
Atenuar mientras yo esté
bi.hOwer = Yo
Bi.lpszTitle = "Seleccione una carpeta de destino"
bi .ul flags = BIF _ RETURNONLYFSDIRS
pidl = SHBrowseForFolder(bi)
ruta=espacio(512)
SHGetPathFromIDList pidl, ruta p>
pos = InStr(ruta, Chr(0))
rtn = Left(ruta, posición 1)
Salir de Sub si rtn = " "
if true(rtn, 1) lt; gt "then rtn = rtn amp"\"
Para i = 1 en ListView1.ListItem.Count
Si ListView1.ListItem (1). Luego seleccione
fso.copy file GPath(i) y vista de lista de amplificadores 1. text, rtn, true
Finalizará
Siguiente. yo
Conector final
Función privada GPath (i es larga)
GPath = IIf(Len(ListView1. List Item(1).SubItem(1) ) gt;3, ListItem(1) y "\", SelectedItem.SubItems(1))
Función
Private Sub mnuDel_Click()
Dim fso como nuevo objeto del sistema de archivos
Atenuar igual que largo
Atenuar el recuento de listas del mismo largo
para i = 1 para el recuento de ListView1
. si ListView1, seleccione
fso.i) y amp ListView1(1).
Terminará si...
Siguiente i
listCount = ListView1. Listar elementos. Count
El recuento de listas se ejecuta cuando gt0
si ListView1. Lista de elementos (listaCount). Luego seleccione
Vista de lista 1. Listar elementos. Eliminar recuento de lista
Finalizar si...
listCount = listCount - 1
Bucle
Finalizar conector
Private Sub mnuRename_Click()
Anotar tmp como una cadena
Tmp = InputBox("Cambiar nombre de archivo a", "Cambiar nombre de archivo", vista de lista 1. elemento seleccionado. texto).
Ir a Error en caso de error
Nombre GPath(ListView1.SelectedItem.Index) & ListView1.
SelectedItem.Text as GPath(ListView1.SelectedItem.Index) & Terminal Monitor Program (abreviatura de Terminal Monitor Program)
ListView1. SelectedItem.Text = tmp
Error:
Conector final
Sub privado mnuRevSelect_Click()
Atenuar tanto como el mío
Para i = 1 en ListView1. Listar elementos. Contar
Vista de lista 1. Listar elementos (1). Seleccionado = no ListView1. Listar elementos (1). Seleccione
Luego
Finalizar conector
Private Sub mnuSelectAll_Click()
Atenúe i mientras
Para i = 1 a ListView1. Listar elementos. Contar
Vista de lista 1. Listar elementos (1). Seleccionado=Verdadero
Siguiente yo
Conector final
Sub privado mnuSelectNone_Click()
Atenuarme mientras
Para i = 1 a ListView1. Listar elementos. Contar
Vista de lista 1. Listar elementos (1). seleccionado=falso
entonces
finalizar el ajuste