웹에서 답변을 검색했지만 답변을 찾을 수없는 것 같습니다. 사용자가 디렉토리를 제공하고 반복 할 수 있기를 바랍니다. 다음과 같이 현재 디렉토리를 반복 할 수 있습니다.
@Echo off
for /r %%f in (*.*) do (
echo %%f
)
하지만 % 1을 (를) 반복하여 동일한 작업을 수행하려고하면 원하는 결과를 얻을 수 없습니다. 내가 도대체 뭘 잘못하고있는 겁니까? 배치 파일에서 내가있는 위치는 다음과 같습니다.
@Echo off
if exist %1 (
for /r %%f in (%1) do (
echo %%f
)
) else (
echo "That directory does not exist."
)
나는 사용해 /D
보았지만 내가 제공 한 디렉토리를 다음과 같이 에코했다.
FileCount C:\Users\Me\Desktop
> C:\Users\Me\Desktop
편집 : 이 프로그램의 내 목표는 결국 주어진 디렉토리 내의 파일 수를 계산하는 것입니다. 디렉토리가 절대 경로로 제공 될 것으로 예상하고 cmd를 통해이 파일을 실행합니다. 다음은 내가 기대하는 입력의 예입니다.
FileCount C:\Users\Me\Desktop
그리고 원하는 출력은 다음과 같습니다.
> Hello world.txt
> Cat.png
> There are 2 files within this directory.
참고 : dir 명령의 출력을 필터링하고 싶지 않습니다. for 루프를 사용하여이 작업을 수행하고 싶습니다.
모두에게 도움을 주셔서 감사합니다. 문제에 대한 해결책을 찾았고 매우 간단했습니다. 내가해야 할 일은 그 자체가 %1\*.*
아닌 루프 스루 뿐이었습니다 %1
.
@Echo off
if exist %1 (
for %%f in (%1\*.*) do (
echo %%f
)
) else (
echo "That directory does not exist."
)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다