CMD/BAT # ¿Como miro si existen archivos con tal extension?

Iniciado por davidlao, 28 Abril 2020, 19:01 PM

0 Miembros y 1 Visitante están viendo este tema.

davidlao

Quiero hacer algo como:


if (existe *.exe) (por lo menos 1)
do (acción)
else (acción)

Esto en el lenguaje de la cmd (.bat, .cmd)

EdePC

Código (dos) [Seleccionar]
@Echo Off

If Exist *.exe (
  Echo Hay por los menos un archivo .exe
) Else (
  Echo No hay nungun archivo .exe
)

Pause


Siempre recomiendo el siguiente tutorial de Batch, es sencillo, cubre buen contenido y esta en español:
https://sites.google.com/site/nikos3194rfcindex/Tutorial%20de%20programacion%20Batch%20%5Bfinal%5D.pdf

En la pág. 29 está el IF y en la 30 el IF Exist

.:Xx4NG3LxX:.

#2
Mas sencillo imposible. Y por tontear el mismo code, pero con menos líneas (no lo tomes a mal XD)

Código (DOS) [Seleccionar]

@Echo Off

If Exist *.exe (Echo Hay por los menos un archivo .exe)&Pause&Exit
Echo No hay nungun archivo .exe

Pause
"Quizá Batch no sea un lenguaje de programación, pero no obstante deja de ser útil. Asi que no anden diciendo «Que ganas de perder el tiempo»"



.:Xx4NG3LxX:.

Pues, ya que me pareció interesante, he hecho algo más aplicado. Experimentando me salió este código que puede o no ayudarte...

Código (DOS) [Seleccionar]

@Echo Off

:: Puedes agregar más extensiones separadas por espacios.
Set "Ext=*.bat *.cmd"

:: %%A = *.bat
:: %%B = *.cmd
For /F "Tokens=1,2 Delims= " %%A In ("%Ext%") Do (
 If Exist %%A (
   Echo Existe al menos un archivo %%A
   Pause>Nul
   Exit
 ) Else (
   Echo No existe ningún archivo %%A
   Pause>Nul
   Exit
 )
)


A ver, que opinan?
"Quizá Batch no sea un lenguaje de programación, pero no obstante deja de ser útil. Asi que no anden diciendo «Que ganas de perder el tiempo»"




Mudereded401

 Hola, Aquí te dejo mi Script: Busca un archivo en el Disco C: Con la Extensión determinada por el Usuario.


@echo off
color 0b
title Buscar un archivo, Con cierta extension...
cd C:\
echo.
echo EJ: .exe  .txt ...
echo.
set/p Buscar=Extension :
set contador=0
for /r %%a in (*%buscar%) do (
echo [!] %%a
set/a contador+=1
echo [!] %%a >>C:\Users\%username%\Desktop\output.txt
)
echo.
echo Finalizado.
echo.
echo.
echo Hay %contador% archivos con la extension %buscar%
echo.
echo Se Dejo un listado completo en Output.txt en tu Escritorio.
pause>nul
exit
Pero aunque los que sepan me digan que no, yo sé muy bien que existe el lado oscuro del sol. – El lado soleado de la calle

.:Xx4NG3LxX:.

Jajaja si que me haces competencia.... Esta muy bueno el Script....
"Quizá Batch no sea un lenguaje de programación, pero no obstante deja de ser útil. Asi que no anden diciendo «Que ganas de perder el tiempo»"



simorg

#7
Curiosamente en el manual indicado popr @EdePC se hace referencia a dos compañeros de este Foro. ;-) (Siendo el autor tambien miembro de este Foro, aunque lleve años sin postear. @nikos3194.)

CitarEste tutorial fue posible gracias a la colaboración (directa o indirecta) de los aportes de las siguientes personas: Simon  Sheppard,  Leo  Gutierres  (RockoX), sirdarckcat,  Soplo, HolyKnight,  PyXOLo,  KJ,  P.Hoffman,  Angel  Segado, Casimiro Zaragoza y muchas otras personas que compartieron sus aportes en Internet.



Saludos.