2012-07-19 6 views

Respuesta

5

No en el shell de comandos de Windows estándar (cmd.exe). Solo entiende el? y * comodines; sin expresiones regulares

¿Tiene la opción de instalar Cygwin, Windows Powershell u otro shell mejorado?

+0

Desafortunadamente no im capaz de instalar cualquier otro conchas, ya que este es un entorno de producción y no tengo los derechos para hacerlo – lukuluku

+0

No creo que eso es estrictamente cierto. Podría hacer una expresión regular con 'findstr' con la entrada de un comando' dir', no estoy seguro de cómo escribirla, pero creo que debería ser posible. Estoy seguro de que @dbenham o @jeb podrán aportar algo :) –

+0

Lo suficientemente justo. Si solo desea la salida de texto y no los efectos secundarios del comando, entonces 'dir | findstr/r "003 [5,8] 0" 'funcionará. – Simbilis

2

sí, puede. No con un solo comando, pero con una combinación de FOR y IF. Pruebe lo siguiente para que pueda empezar ...

setlocal enabledelayedexpansion 
for %%a in (003?0) do (
    set fn=%%a 
    set fnl=!fn:~3,1! 
    if .!fnl!==.5 (
    echo !fn! 
) 
    if .!fnl!==.8 (
    echo !fn! 
) 
) 
Cuestiones relacionadas