批量搜索 - 在名称中搜索%search%的所有文件并列出它们

时间:2017-05-30 15:45:35

标签: batch-file

我需要创建一个批处理,列出文件夹和子文件夹中包含名称中var%search%的所有文件,然后列出每行的数字,这样我就可以编写行号并打开指定的文件。 / p>

我有这个,但我不能改变输出

dir *%search%*.* /s

欢迎任何想法 感谢

完成,完整的工作脚本

@ECHO OFF

cd..
set cdstart=%cd%

echo.
echo :::::::::::::::::::::::::::::Ultimo Ficheiro Gerado por Tipo::::::::::::::::::::::::::::::::::::::
ECho.
cd %cdstart%\old\old_states\
for /f %%i in ('dir /b/a-d/od/t:c') do set LAST=%%i 
echo Ultimo state: %LAST%
ECHO.
cd %cdstart%\old\old_Doc\
for /f %%i in ('dir /b/a-d/od/t:c') do set LAST=%%i 
echo Ultimo Documentos: %LAST%
ECHO.
cd %cdstart%\old\old_Processo\
for /f %%i in ('dir /b/a-d/od/t:c') do set LAST=%%i 
echo Ultimo Processo: %LAST%
ECHO.
cd %cdstart%\old\OLD_COMPRESS\
for /f %%i in ('dir /b/a-d/od/t:c') do set LAST=%%i 
echo Ultimo ficheiro Comprimido: %LAST%
ECHO.
cd %cdstart%\old\old_Utilizadores\
for /f %%i in ('dir /b/a-d/od/t:c') do set LAST=%%i 
echo Ultimo Utilizador Criado/Alterado: %LAST%
ECHO.


ECHO :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
cd %cdstart%

ECHO.
set /p search=Introduza o Id a pesquisar:
ECHO.
set old_mypath=%cd%

dir /s /b **%search%*.**|findstr /n "^"
dir /s /b **%search%*.**|findstr /n "^" >>output_search.txt

echo.
echo.

set /p linha=Qual o ficheiro que deseja abrir?
set /a linhaf = %linha%-1
echo %linhaf%
set "xprvar="
for /F "skip=%linhaf% delims=" %%i in (output_search.txt) do if not defined xprvar set "xprvar=%%i"

if %linha% GEQ 100 goto :maiorcem
if %linha% GEQ 10 goto :maiornove
if %linha% LEQ 9 goto :menornove

:menornove
echo menornove
set stre=%xprvar:~2%
echo %stre%
START notepad++.exe "%stre%"
goto escolha_2

:maiornove
echo maiornove
set stre=%xprvar:~3%
echo %stre%
START notepad++.exe "%stre%"
goto escolha_2

:maiorcem
echo maiorcem
set stre=%xprvar:~4%
echo %stre%
START notepad++.exe "%stre%"
goto escolha_2

:escolha_2
del output_search.txt
exit

1 个答案:

答案 0 :(得分:0)

@ECHO OFF

cd..
set cdstart=%cd%

echo.
echo :::::::::::::::::::::::::::::Ultimo Ficheiro Gerado por Tipo::::::::::::::::::::::::::::::::::::::
ECho.
cd %cdstart%\old\old_states\
for /f %%i in ('dir /b/a-d/od/t:c') do set LAST=%%i 
echo Ultimo state: %LAST%
ECHO.
cd %cdstart%\old\old_Doc\
for /f %%i in ('dir /b/a-d/od/t:c') do set LAST=%%i 
echo Ultimo Documentos: %LAST%
ECHO.
cd %cdstart%\old\old_Processo\
for /f %%i in ('dir /b/a-d/od/t:c') do set LAST=%%i 
echo Ultimo Processo: %LAST%
ECHO.
cd %cdstart%\old\OLD_COMPRESS\
for /f %%i in ('dir /b/a-d/od/t:c') do set LAST=%%i 
echo Ultimo ficheiro Comprimido: %LAST%
ECHO.
cd %cdstart%\old\old_Utilizadores\
for /f %%i in ('dir /b/a-d/od/t:c') do set LAST=%%i 
echo Ultimo Utilizador Criado/Alterado: %LAST%
ECHO.


ECHO :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
cd %cdstart%

ECHO.
set /p search=Introduza o Id a pesquisar:
ECHO.
set old_mypath=%cd%

dir /s /b **%search%*.**|findstr /n "^"
dir /s /b **%search%*.**|findstr /n "^" >>output_search.txt

echo.
echo.

set /p linha=Qual o ficheiro que deseja abrir?
set /a linhaf = %linha%-1
echo %linhaf%
set "xprvar="
for /F "skip=%linhaf% delims=" %%i in (output_search.txt) do if not defined xprvar set "xprvar=%%i"

if %linha% GEQ 100 goto :maiorcem
if %linha% GEQ 10 goto :maiornove
if %linha% LEQ 9 goto :menornove

:menornove
echo menornove
set stre=%xprvar:~2%
echo %stre%
START notepad++.exe "%stre%"
goto escolha_2

:maiornove
echo maiornove
set stre=%xprvar:~3%
echo %stre%
START notepad++.exe "%stre%"
goto escolha_2

:maiorcem
echo maiorcem
set stre=%xprvar:~4%
echo %stre%
START notepad++.exe "%stre%"
goto escolha_2

:escolha_2
del output_search.txt
exit