드라이브의 내 폴더 구조는 다음과 같습니다 (Windows).
Folder 1
Fd1
Fd2
Fd3
Fd4
Fd5
Folder 2
Fd1
Fd2
Fd3
Fd4
Fd5
이 배열은 수백 개의 폴더에 대해 계속됩니다. 각 폴더 x의 Fd1 내부 에는 특정 파일이 있습니다. Windows 명령 줄을 사용하여 전체 경로 가있는 파일 목록을 텍스트 파일 로 추출하는 방법을 찾고 있습니다. 명령 프롬프트 사용 경험이 거의 없기 때문에 이것이 어떻게 달성 될 수 있는지에 대한 단서가 없습니다..bat
.bat
출력이 다음과 같은 목록이되기를 원합니다.
............
D:\Folder 1\Fd1\one.bat
D:\Folder 2\Fd2\two.bat
............
누군가 나를 도울 수 있습니까?
답변
당신이 찾고있는 것을 이해한다면
dir/s/b *.bat
작동하면 텍스트 파일로 리디렉션하십시오 ….
dir/s/b *.bat > textfile.txt
DIR 명령에 대한 명령 행 스위치 목록을 갖는 것이 유용 할 수도 있습니다 .
답변
FOR 명령을 / R 스위치와 함께 사용하는 것이 좋습니다.
예를 들어, 현재 디렉토리의 모든 파일을 찾으려면 다음을 사용하십시오.
for /r %i in (*) do @echo %i
임의의 디렉토리에서 검색을 시작하려면 다음 형식의 명령을 사용하십시오.
for /r "C:\TMP" %i in (*) do @echo %i
마지막으로 c : \ bin 디렉토리에서 모든 배치 파일을 찾으려면 다음을 수행하십시오.
for /r "c:\bin" %i in (*.bat) do @echo %i
그러나 한 가지 중요한 점은 배치 파일에서이 명령을 사용하는 경우 % 기호를 두 배로 늘려야하므로 다음 예제가됩니다.
for /r %%i in (*) do @echo %%i
for /r "C:\TMP" %%i in (*) do @echo %%i
for /r "c:\bin" %%i in (*.bat) do @echo %%i
여기서 변수로 i를 사용하는 것은 완전히 임의적이며 FORTRAN 시절에 처음으로 나에게 이식되었습니다.