Cómo encontrar fácilmente archivos sin extensión usando Windows

Cómo encontrar fácilmente archivos sin extensión usando Windows

Tengo algunos archivos en mi disco duro que no tienen extensión alguna. Es muy difícil encontrarlos manualmente, realmente no me gusta el hecho de que tendría que reemplazar mi mouse antes debido al daño no enorme, pero sí muy prominente, causado al hardware al intentar encontrar esos archivos constantemente. haciendo clic y desplazándose, ya que son unos cientos de archivos entre miles en una sola carpeta.

¿Alguien aquí conoce un comando cmdo PowerShell, o alguna sintaxis de consulta avanzada de búsqueda del Explorador de Windows para ayudar a simplificar esta tarea?

Respuesta1

Encontrar archivos sin extensiones de archivo con Windows

Explorador de Windows: sintaxis de consulta avanzada

segúnPetSerAlaquí están algunos de losSintaxis de consulta avanzada del Explorador de archivosmétodo para empezar, pero lea más abajo para conocer el equivalenteLínea de comandoyGuión por lotesmétodos para esta tarea.

Búsqueda recursiva

kind:= -folder type:= -[] extension:= []

No recursivo

Simplemente seleccione "Carpeta actual"opción a través de la GUI"Buscar" pestaña

ingrese la descripción de la imagen aquí

o

kind:= -folder type:= -[] extension:= [] folder:"C:\folder\path"

Puedes usar unpara /fbucle que itera la salida de undirectoriocomando con los parámetros /By /A-D, y luego use algún condicionalsilógica para generar solo archivos sin extensiones utilizando sustituciones para los archivos iterados en el directorio especificado.

Línea de comando

Nota: Esto supone que el directorio en el que se encuentra en la línea de comando es el directorio que necesita buscar para mostrar los archivos sin extensiones.

FOR /F "TOKENS=*" %A IN ('dir /B * /A-D') DO IF /I [%~nxA]==[%~nA] ECHO %~A

Guión por lotes

Nota: Este es un script por lotes en el que usted establece el SET Src=valor como el directorio en el que necesita buscar para mostrar archivos sin extensiones.

@ECHO ON
SET Src=C:\folder\path
FOR /F "TOKENS=*" %%A IN ('DIR /B "%Src%\*" /A-D') DO IF /I [%%~nxA]==[%%~nA] ECHO %%~A
PAUSE
EXIT

Recursos adicionales

  • Para /F
  • FOR /?

    Además, se ha mejorado la sustitución de referencias variables FOR. Ahora puede utilizar la siguiente sintaxis opcional:

    %~nI        - expands %I to a file name only
    %~xI        - expands %I to a file extension only
    
  • Directorio

  • Si

Respuesta2

Para la solución PowerShell:

Get-ChildItem -Path $Path -Recurse -File -Filter '*.'

O:

Get-ChildItem -Path $Path -Recurse -File | Where-Object Extension -eq ''

Tenga en cuenta que el -Fileparámetro requiere PowerShell v3+.

Respuesta3

En el símbolo del sistema, simplemente use *.:

C:\nombre del directorio> directorio

24/08/2018 03:33 .
24/08/2018 03:33 ..
24/08/2018 03:33 16a
24/08/2018 03:33 18 a.C.
24/08/2018 03:33 20 def
               3 Archivo(s) 54 bytes

C:\nombre del directorio>directorio*.

24/08/2018 03:33 .
24/08/2018 03:33 ..
24/08/2018 03:33 16a
               1 archivo(s) 16 bytes

C:\nombre del directorio>

Recuerde, el símbolo del sistema de Windows no es Unix. En nombres de archivos Unix, punto (.) es sólo un carácter normal (excepto por el hecho de que los nombres de archivo que comienzan con un punto están ocultos). En Unix, *e*significa todos los nombres de archivos que contienen un ey *.*significa todos los nombres de archivos que(explícitamente)contener un..

Las reglas del símbolo del sistema son más complicadas.  *significa todos los nombres de archivos (incluso los que tienen una extensión). Y *.*también significa todos los nombres de archivos (incluso aquellos que no contienen un.). Pero *.significa todos los nombres de archivos que no tienen extensión.

Respuesta4

ls | ? {$_.Extension -eq ''}

Esto utiliza la taquigrafía máxima. Pero en realidad es el mismo código que @BaconBits. Prefiero la taquigrafía. Es más difícil de leer para principiantes pero más expresivo y conciso.

información relacionada