파일 목록을 생성하기 위해 dir 명령의 각 줄에 문자열을 추가하는 Windows 배치 파일이 필요합니다.

파일 목록을 생성하기 위해 dir 명령의 각 줄에 문자열을 추가하는 Windows 배치 파일이 필요합니다.

저는 배치 파일만 사용할 수 있는 Informatica 플랫폼을 사용하고 있습니다. 현재 다음 명령을 사용하여 파일 이름 목록을 생성 중입니다. dir /b /a-d

850_B_4545703_.txt
850_B_003029660_.txt
850_B_069029548_.txt
850_B_188789_.txt
850_C_ENT_1712865_.txt
850_C_ENT_1712871_.txt
850_C_1712877_.txt

하지만 Informatica가 이 목록을 사용하여 파일을 찾으려면 플랫 파일 연결에 사용되는 경로를 추가해야 합니다.

\\jdeappp03\EDI\

그래서 제가 달성하려는 것은 다음을 출력하는 배치 파일입니다.

\\jdeappp03\EDI\850_B_4545703_.txt
\\jdeappp03\EDI\850_B_003029660_.txt
\\jdeappp03\EDI\850_B_069029548_.txt
\\jdeappp03\EDI\850_B_188789_.txt
\\jdeappp03\EDI\850_C_ENT_1712865_.txt
\\jdeappp03\EDI\850_C_ENT_1712871_.txt
\\jdeappp03\EDI\850_C_1712877_.txt

사용해 보았지만 dir /s/b *.txt이는 내 Informatica 설정에서 파일을 찾는 데 사용할 수 없는 절대 경로를 제공합니다.

배치 파일로 원하는 결과를 얻을 수 있는 방법이 있나요?

답변1

배치 파일에서 다음 명령을 사용할 수 있습니다.

for /f "delims=" %%a in ('dir /b /a-d <PATH>') do (echo \\jdeappp03\EDI\%%a)

명령 주위에 for 루프를 사용하면 출력을 반복하고 변수에 저장할 수 있습니다 %%a. 반복 중에 수행하려는 모든 작업은 do.

do가독성을 위해 줄바꿈을 사용하려면 뒤에 괄호만 필요합니다 .

for /?명령 에 대해 자세히 알아보려면 Windows cmd를 사용하세요 for.

답변2

더 짧은 옵션은 다음과 같습니다.

for %%i in ("D:\Path\*.txt")do echo \\jdeappp03\EDI\%%~nxi

관련 정보