Red de conocimiento informático - Material del sitio web - ¿Cómo eliminar un lote de archivos de extensión usando VB? ¿Entonces eliminarlo por completo?

¿Cómo eliminar un lote de archivos de extensión usando VB? ¿Entonces eliminarlo por completo?

Hoy no trabajo y no tengo tiempo. Mañana vendré a trabajar, así que haz las paces.

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

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>

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 = "ì"

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>

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

Superior = 5355

Ancho = 7995

_ExtentX = 14102

_ExtentY = 503

_Versión = 393216

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:\ "

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

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