2016-09-22 5 views
0

배치 파일을 사용하여 x MB보다 작은 특정 폴더의 모든 파일을 삭제할 수있는 방법이 있습니까?
forfiles 명령을 살펴 보았지만 x days보다 오래된 파일 만 삭제할 수 있습니다.특정 크기보다 작은 파일을 일괄 처리로 삭제

+0

, 그러나 나는 그것이 무엇인지 전혀 몰랐다, 나는 그것이 맞게 수정할 수있는 방법을 내 자신의 필요. –

+2

파일 크기를 나타내는 단일 숫자를 변경하고 폴더를 가리키는 데 사용되는 경로를 변경하여 필요에 맞게 파일을 수정합니다. 왜 당신을 위해 수정하기가 어렵습니까? –

+0

@KenWhite 전에 Batch/DOS를 한번도 사용해 본 적이 없기 때문에이 모든 작은 파일을 배울 필요없이 삭제할 때 사용하고 싶었습니다 ... 죄송합니다. –

답변

5

이것은 for /f 문을 사용하여 가능합니다. 아래 스크립트는 모든 100KB(100,000 바이트) 이하로 파일을 삭제합니다이 시도 : 나는 해당 게시물을 본 @KenWhite

@echo off 
setlocal 
:: Size is in bytes 
set "min.size=100000" 

for /f "usebackq delims=;" %%A in (`dir /b /A:-D *.*`) do If %%~zA LSS %min.size% del "%%A" 
+2

'DIR' 명령은 마침표가있는 폴더도 나열 할 것이다. '/ A-D' 옵션을 사용하여 폴더가 나열되지 않도록 제외하십시오. 개인적으로 폴더를 나열하지 않기 때문에 기본'FOR' 명령을 사용합니다. – Squashman

+0

답변 해 주셔서 감사합니다! 그것은 정말 잘 작동합니다. 현재 폴더에서 명령을 수행하는 방법을 알 수 없습니다 ('dir/b'입니까?). 그것도 스스로를 삭제하지만 그건 중요하지 않습니다 - 나는 그것을 수행하고 싶은 모든 폴더에 파일을 복사하여 붙여 넣을 것입니다. –

관련 문제