입력 문자열과 이름이 같은 파일의 모든 경로를 찾는 배치 스크립트를 작성하려고했습니다. 지금은 발견 된 첫 번째 파일 만 찾을 수 있으며 여러 파일 위치를 나열하는 방법을 생각할 수 없습니다. 나는 경험이별로 없기 때문에 도움이 필요하다.여러 파일 찾기 단일 문자열로 된 경로
이 스크립트 코드의 일부입니다
:start
cls
echo Enter file name with extension:
set /p filename=
echo Searching...
for %%a in (C D E F G H U W) do (
for /f "tokens=*" %%b in ('dir /s /b "%%a:\%filename%"') do (
set file=%%~nxb
set datapath=%%~dpb\
::the path of the file without the filename included "C:\folder\folder\"
set fullpath=%%b
::the path of the file with the filename included "C:\folder\folder\file"
goto break
)
)
:notfound
cls
echo Enter file name with extension:
echo %filename%
echo File Not Found!
ping localhost -n 4 >nul
goto start
:break
if "%datapath:~-1%"=="\" set datapath=%datapath:~,-1%
cls
echo 3 %filename% found
echo %fullpath1%
echo %fullpath2%
echo %fullpath3%
--- || ---
내가 스크립트는 컴퓨터를 검색하고 같은 이름을 가진 모든 발생 파일을 나열하려면 내가 다른로 그 파일 '경로를 넣어 수 있도록하려면 변수.
예를 들어, readme.txt가 입력이면 특정 이름 (readme.txt)을 가진 모든 파일의 모든 경로 목록을 원하고 각 경로에 변수를 설정하여 나중에 사용할 수 있도록합니다. 그.
input:
readme.txt
output:
3 files found
C:\folder\folder\readme.txt
C:\folder\folder\folder\readme.txt
D:\folder\readme.txt
'에 대한 %% A의 (CDEFGHUW) 할 DIR/s의/ㄴ % % a : \ % filename % 2> nul' - 충분하지 않습니까? – Stephan
예, 좋습니다. 문제는 스크립트가 파일을 복사하거나 삭제할 수있는 옵션을 가지고 있다는 것입니다. 그것이 전체 경로와 데이터 경로를 추가 한 이유입니다. 그러나 그 행을 사용하면 경로가 나열되고 경로를 사용할 수 없습니다. 그러나 당신의 도움에 감사드립니다! –