명령줄에서 환경 변수로 지정된 폴더(및 선택적으로 하위 폴더)에 있는 지정된 유형(예: *.mp3)의 모든 파일을 어떻게 계산합니까?
(PowerShell은 사용하지 말고 일괄 명령만 사용하세요)
답변1
set filesCount=0 & for %f in (*) do @(set /a filesCount+=1 > nul)
답변2
폴더 및 하위 폴더의 파일 개수 계산
다음 명령을 사용하십시오.
dir /b *.mp3 /s 2> nul | find "" /v /c > tmp && set /p count=<tmp && del tmp && echo %count%
환경 변수에는 %count%
파일 수가 포함됩니다.
메모:
/s
하위 폴더의 파일 수를 계산하지 않으려면 제거하세요 .
예(*.txt 사용)
17개 파일을 표시하는 디렉터리 목록:
F:\test>dir /b *.txt /s
F:\test\abc.txt
F:\test\blackwhite.txt
F:\test\cpu.txt
F:\test\interface.txt
F:\test\Lorem ipsum.txt
F:\test\right.txt
F:\test\rights.txt
F:\test\software.txt
F:\test\tabs.txt
F:\test\test.txt
F:\test\this is inside junction.txt
F:\test\unique.txt
F:\test\xyz.txt
F:\test\sub\abc.txt
F:\test\sub\xyz.txt
F:\test\sub with space\junction sub with space.txt
F:\test\sub with space\xyz.txt
다음 명령을 실행하십시오.
F:\test>dir /b *.txt /s 2> nul | find "" /v /c > tmp && set /p count=<tmp && del tmp && echo %count%
17
추가 읽기
- Windows CMD 명령줄의 AZ 인덱스- Windows cmd 라인과 관련된 모든 것에 대한 훌륭한 참고 자료입니다.
- 찾다- 파일에서 텍스트 문자열을 검색하고 발견된 모든 줄을 표시합니다.
답변3
파일 개수를 계산하려면 dir
와 를 조합하여 사용하세요 . 루프 find
를 통해 파일을 변수에 저장합니다 for
. 오류를 nul
숨기려면 오류 출력을 다음으로 리디렉션하세요 File Not Found
.
@echo off
for /f %%i in ('dir *.xlsx /s /b 2^> nul ^| find "" /v /c') do set VAR=%%i
echo %VAR%
, 및 을 /?
사용 하는 매개변수에 대한 설명을 참조하세요 .dir
find
for
답변4
robocopy의 (목록) 옵션을 활용할 수 있습니다 /L
. 그러면 복잡한 for 루프나 파이프가 필요하지 않습니다. 속도도 매우 빠릅니다.
robocopy c:\mydir c:\dummy /L /E *.mp3 *.txt
c:\mydir
: 이것을 검색하려는 디렉토리의 경로로 바꾸십시오.c:\dummy
: 이것을 그대로 둬도 됩니다. 우리가 사용하고 있기 때문에 무시되는 더미 인수일 뿐입니다./L
/L
: 목록만 표시되며 아무것도 복사/이동할 수 없습니다./E
: 하위 디렉터리를 재귀적으로 포함합니다. 하위 디렉터리를 검색하지 않으려면 이를 제거할 수 있습니다.- 파일 및 디렉토리 목록을 인쇄하지 않으려면
/NFL
(No Files List) 및/또는/NDL
(No Dirs List)를 추가할 수 있습니다.
아래와 같은 좋은 보고서를 받게 될 것입니다. 칼럼 만 보세요 Total
.
Source : c:\mydir
Files : *.mp3
*.txt
--------------------------------------------------
{list of all the matching files}
--------------------------------------------------
Total Copied Skipped Mismatch FAILED Extras
Dirs : 5 5 0 0 0 0
Files : 89 89 0 0 0 0
Bytes : 3.485 g 3.485 g 0 0 0 0