我需要创建一个批处理,列出文件夹和子文件夹中包含名称中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
答案 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