Hola.
Puedes hacerlo de la siguiente manera:
@Echo OFF & (CHCP 1252)1>NUL
Echo:¿Qué archivo quieres buscar?.
Set /P "filename="
CLS
:: Aquí puedes optar por interpretar el valor de "%filename%" como un nombre de archivo parcial, o un nombre completo.
Set "search=*%filename%*.*" & REM Partial Filename
REM Set "search=%filename%.*" & REM Full Filename
For %%# In ("%search%") Do (
Echo "%%~f#"
)
Pause
Exit /B 0
Asignando el término "setup" para la búsqueda, esto sería un resultado de ejecución aleatorio de una búsqueda por nombre parcial:
DSETUP.DLL
DSETUP16.DLL
DSETUP32.DLL
locSetup.exe
MCMsetup.exe
setup.exe
Y esto de una búsqueda por nombre completo:
setup.exe
Saludos!
Gracias por tomate tu tiempo para responder pero si no es mucha molestia podrias explicarme que significa" & (CHCP 1252)1>NUL " es la primera vez que lo uso y no entiendo su funcion.
Cita de: eXtm en 16 Febrero 2017, 10:28 AMpodrias explicarme que significa" & (CHCP 1252)1>NUL "
Hola.
El propósito de
{n}>NUL sirve para redireccionar un stream especifico de un comando o proceso, donde
{n} en este caso es "1", el buffer de salida (1 = STDOUT) y se redirecciona hacia "Nulo", es decir, nada, u oculto. Dicho de otra forma,
1>NUL sirve para ocultar el mensaje del comando. En otros casos podriamos usar
2>NUL para ocultar el mensaje de error (2 = STDERR), o
1>NUL 2>&1 para ocultar ambos, etc.
Sobre el comando
CHPC, bueno...
Cuando desconozcas el propósito de un comando, siempre puedes ver la ayuda del comando en la consola escribiendo "
/?" al final del nombre de dicho comando:
CHCP /?
Esto nos mostrará lo siguiente:
Cita de: CMDMuestra o establece el número de la página de códigos activa.
CHCP [nnn]
nnn Especifica una página de códigos.
Escriba CHCP sin parámetro para mostrar el número de la página de códigos activa.
Y esto viene a decirnos, que el comando CHCP sirve para modificar el modo en el que la consola representa los caracteres en pantalla usando un código de páginas de Windows específico, o dicho de otra forma, un set de caracteres específico, en este caso CHCP 1252 corresponde a
Windows Latin 1 (ANSI):
(https://i-msdn.sec.s-msft.com/dynimg/IC68553.gif)
Te preguntarás por que he usado el comando CHCP si parece que en tu script no haga falta usarlo, y en principio es verdad, simplemente lo utilizo en todos mis scripts para conservar las buenas costumbres, puesto que la consola o CMD por defecto utiliza el código de página
850 y esto no representa correctamente los caracteres del Castellano.
Te mostraré un ejemplo breve para que comprendas la diferencia:
Script.cmd
@Echo OFF
(CHCP 1252)1>NUL
Echo áéíóú
(CHCP 850)1>NUL
Echo áéíóú
Pause&Exit
Resultado de ejecución:
Citaráéíóú
ßÚݾ·
Presione una tecla para continuar . . .