2017-05-30 14 views
-2

我需要創建一個批處理文件夾和子文件夾中的所有文件,其中包含名稱中的var%search%,然後列出每行中的數字,然後列出我可以寫行號並打開指定的文件。批處理 - 搜索名稱中包含%search%的所有文件並列出它們

我有這個,但我不能改變輸出

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

'DIR/S/B *測試* | FINDSTR/N 「^」'。回答你的問題,但我害怕,那不會幫助你。 – Stephan

+1

[可能的重複](https://stackoverflow.com/q/30592253/2152082)。接受的答案應該很容易適應您的需求。 – Stephan

+0

它工作得很好,現在閱讀文件,我可以寫回到txt?我可以告訴他得到具體的行,並把它放在一個變種,然後就開始var – razstec

回答

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

相關問題