Habilitando o modo de travessia recursiva na pesquisa baseada no prompt de comando conforme a escolha do usuário

1

Eu tenho o seguinte script para procurar arquivos de tipos de arquivos específicos (PHP, TXT, HTML, etc.), que pedem a escolha do usuário sobre: 1) Quer fazer uma pesquisa recursiva? 2) Que tipo de arquivos devem ser listados?

Mas, devido a um motivo desconhecido, mesmo se eu der uma resposta positiva ("y") para a pergunta de pesquisa resursiva, ela não pesquisará recursivamente e sairá depois que a pesquisa de diretório atual for concluída.

@echo off
setlocal
set /p inSubFolders="You want to search in sub-folders too ? : "
set /p searchTerm="What type of files are you looking for ? : "

echo %searchTerm%
echo %inSubFolders%

:findInDir
if %inSubFolders%=="y" (
    dir *.%searchTerm% /s /b /p | findstr /e .%searchTerm%
) else (
    dir *.%searchTerm% /b /p | findstr /e .%searchTerm%
)
pause

Alguém pode descobrir qual poderia ser o motivo desse problema?

    
por Vicky Dev 09.06.2017 / 14:33

1 resposta

2

Qual poderia ser o motivo desse problema?

if %inSubFolders%=="y" (

O texto acima é quebrado, pois compara y com "y"

Deve ser:

if "%inSubFolders%"=="y" (

Como eu poderia ter paginação?

Canalize a saída para more da seguinte forma:

dir *.%searchTerm% /s /b /p | findstr /e .%searchTerm% | more

Leitura Adicional

por 09.06.2017 / 14:51