디렉터리 내용의 경로를 배치 파일에 대한 인수로 전달합니다.

디렉터리 내용의 경로를 배치 파일에 대한 인수로 전달합니다.

여러 파일을 드래그하는 배치 파일("drag_target.bat")이 있습니다. 그런 다음 Windows는 드래그된 파일 경로를 인수로 전달합니다.

drag_target.bat "dragged file 1 path" "dragged file 2 path" ...

제가 수행해야 하는 일반적인 작업은 특정 폴더("c:\foo\bar"라고 함)의 모든 내용을 drag_target.bat로 드래그하는 것입니다.

첫 번째 배치 파일을 다른 배치 파일("double_clickable.bat")로 래핑하여 이 작업을 자동화하고 싶습니다. 하지만 특정 폴더의 모든 내용을 인수로 나열하려면 어떻게 해야 합니까?

예를 들어 "c:\foo\bar"에 다음이 포함된 경우:

a.txt

b.avi

c [하위 폴더임]

그런 다음 double_clickable.bat가 다음을 호출하기를 원합니다.

drag_target.bat "c:\foo\bar\a.txt" "c:\foo\bar\b.avi" "c:\foo\bar\c"

이를 달성하는 가장 좋은 방법은 무엇입니까?

답변1

double_clickable.bat파일은 다음을 수행해야 합니다.

@echo off
setlocal enabledelayedexpansion
set "args="
set "folder=%1"
for /f "tokens=*" %%G in ('dir /b "%1"') do set args=!args! "%folder%\%%G"
drag_target.bat !args!

사용하려면 폴더를 이 배치 파일로 드래그하세요.

관련 정보