Windows에서 빈 파일 (0 바이트)을 삭제하는 방법?

일부 응용 프로그램은 데이터 폴더에 빈 0 바이트 파일을 만들어 지우지 못합니다. 시간이 지남에 따라 폴더 계층 구조에 0 바이트 파일이 많이있는 경우 0 바이트 파일을 모두 찾아 삭제하는 방법이 있습니다.

폴더 트리에서 재귀 적으로 0 바이트 파일 찾기 및 삭제

일부 응용 프로그램은 자리 표시 자 또는 다른 이유로 필요할 수 있기 때문에 0 바이트 파일을 임의로 삭제하면 문제가 될 수 있습니다. 폴더 경로에 0 바이트 파일이 필요하지 않다고 모두 삭제하려면 아래 방법 중 하나를 따르십시오.

깔끔한 타사 프리웨어 GUI 도구부터 시작한 다음 기본 방법을 살펴 보겠습니다.

1.“빈 파일 찾기 폴더”유틸리티 사용

빈 파일 찾기 -n- 폴더는 폴더 트리 아래에서 빈 파일 (0 바이트)과 빈 폴더를 재귀 적으로 찾아서 삭제할 수있는 훌륭한 도구입니다.

Ashisoft.com에서 빈 파일 -n- 폴더 찾기 (600KB 설치 프로그램)를 다운로드하십시오.

폴더를 선택하고 지금 검색을 클릭하십시오.

이 도구는 빈 파일과 폴더를 별도의 탭에 나열합니다.

빈 파일 탭에서 모든 파일 표시 를 클릭 한 다음 파일 삭제 를 클릭하십시오.

마찬가지로 선택한 폴더 트리에서 0 바이트 파일을 삭제하려면 빈 파일 탭을 클릭하십시오.

Ashisoft.com에는 다른 멋진 도구가 있습니다.


2. Windows 검색 사용

Windows 검색에서는 size: query 연산자를 사용하여 모든 0 바이트 파일을 나열 할 수 있습니다.

$config[ads_text6] not found

빈 파일을 찾거나 삭제하려는 폴더를 엽니 다.

검색 상자에 size:empty 또는 size:0 KB

파일 확장자 (예 : javascript 파일 → 확장자 .js )로 결과를 필터링하려면 다음 고급 쿼리 구문 (AQS)을 사용하십시오.

 크기 : 비어 있고 ext : js 


3. 명령 프롬프트 사용

모든 0 바이트 (0KB) 파일을 폴더 및 하위 폴더로 재귀 적으로 나열하고 이름을 파일로 출력하려면 다음 명령을 사용하십시오.

비어있는 (0KB) 파일을 찾거나 삭제하려는 폴더에서 명령을 실행해야합니다.

 (*)에서 / r % F의 경우 @if % ~ zF == 0 echo "% F">> d : \ 0byte-files.txt 

또는 콘솔 창에서 디렉토리를 변경할 필요가 없도록 for 명령에 대상 폴더 경로를 포함시킬 수 있습니다. 예:

 / r "d : \ websites"% F (*)에서 @if % ~ zF == 0 echo "% F">> d : \ 0byte-files.txt 

이렇게하면 명령 프롬프트에서 해당 특정 폴더로 전환 할 필요가 없습니다.

0 바이트 파일 출력의 전체 목록은 D:\ 드라이브의 0byte-files.txt 파일에 기록됩니다.

파일을 삭제하려면 echo 대신 del 명령을 사용하십시오.

 (*. *)에서 / r % F의 경우 @if % ~ zF == 0 del "% F" 

또는 명령 자체에서 대상 폴더 경로를 언급하십시오.

 / r "d : \ websites"% F in (*. *) @if % ~ zF == 0 del "% F" 

특정 파일 확장자를 가진 0 바이트 파일 찾기 및 삭제

위의 예에서 파일 확장자로 필터링 할 수도 있습니다. 예를 들어 0 바이트 .txt 파일을 삭제하려면 *.* 또는 * 대신 *.txt 를 사용 *.*

 (* .txt)에서 / r % F의 경우 @if % ~ zF == 0 del "% F" 

또는 폴더 경로를 언급하면 ​​:

 / r "d : \ websites"% F (* .txt)의 경우 @if % ~ zF == 0 del "% F" 

현재 폴더와 하위 폴더 또는 지정된 폴더 트리에서 빈 .txt 파일을 모두 반복적으로 삭제합니다.

배치 파일 만들기

빈 파일을 찾아서 나열 하고 결과를 텍스트 파일로 출력하기 위해 배치 파일을 만들려면 다음을 수행하십시오.

 / e "% ~ 1"에 대해 @echo off set out = "d : \ 0byte-files.txt" %% ~ zA == 0이면 %% A in (*. *) 에코 "%% ~ fA">> % out % 

위 내용을 find-empty-files.bat 로 저장하십시오.

파일 목록을 출력하지 않고 빈 파일을 삭제 하려면 다음 배치 파일을 사용하십시오.

 / r "% ~ 1"에 대해 @echo 꺼짐. %% ~ zA == 0 del "%% ~ fA"인 경우 (*. *)의 %% A 

폴더에 대해 배치 파일 을 재귀 적으로 실행 하려면 다음 구문을 사용합니다.

 d : \ scripts \ find-empty-files.bat d : \ websites 

위의 명령은 무엇을합니까?

  • for /r %F in (*) 경우 언급 된 폴더 및 하위 폴더의 파일을 반복적으로 반복합니다.
  • if %~zF==0 경우 반복 된 파일이 0 바이트 파일인지 확인
  • del %%~fA 0 바이트 파일 삭제

관련 : Windows에서 빈 폴더를 자동으로 찾아서 삭제하는 방법


4. PowerShell 사용

PowerShell.exe를 시작하고 다음 방법 중 하나를 사용하십시오.

비어있는 (0KB) 파일 나열

폴더 트리 아래에 0 바이트 파일 목록가져 오려면 다음 명령 줄 구문을 사용하십시오.

 Get-ChildItem-경로 "D : \ websites \ test"-Recurse -Force | Where-Object {$ _. PSIsContainer -eq $ false-및 $ _. Length -eq 0} | -ExpandProperty FullName을 선택하십시오. 

목록을 파일로 출력하려면 :

 Get-ChildItem-경로 "D : \ websites"-Recurse -Force | Where-Object {$ _. PSIsContainer -eq $ false-및 $ _. Length -eq 0} | -ExpandProperty FullName | 세트 내용-경로 d : \ found.txt 

목록을 그리드보기로 출력하려면 :

 Get-ChildItem-경로 "D : \ websites"-Recurse -Force | Where-Object {$ _. PSIsContainer -eq $ false-및 $ _. Length -eq 0} | 아웃 그리드 뷰 

특정 파일 형식 만 나열하려면 (예 : .bmp ) :

 Get-ChildItem-경로 "D : \ websites"-include * .bmp -Recurse -Force | Where-Object {$ _. PSIsContainer -eq $ false-및 $ _. Length -eq 0} | 아웃 그리드 뷰 

비어있는 (0KB) 파일 삭제

폴더 트리 아래의 모든 0 바이트 파일을 삭제 하려면 다음 명령 줄 구문을 사용하십시오.

 Get-ChildItem-경로 "D : \ websites"-Recurse -Force | Where-Object {$ _. PSIsContainer -eq $ false-및 $ _. Length -eq 0} | 항목 제거 

특정 확장자를 가진 0 바이트 파일을 삭제하려면 (예 : .bmp )

 Get-ChildItem-경로 "D : \ websites"-include * .bmp -Recurse -Force | Where-Object {$ _. PSIsContainer -eq $ false-및 $ _. Length -eq 0} | 항목 제거 

4. VBScript 사용

다음 VBScript는 폴더 트리에서 비어있는 (0 바이트) 파일을 재귀 적으로 지 웁니다.

다음 코드를 메모장에 복사하여 del-zero-byte-files.vbs 로 저장하십시오.

 옵션 명시 적 If (WScript.Arguments.Count 1) 그런 다음 WScript.Echo ( "사용 : cscript DeleteEmptyFolders.vbs {path}") WScript.Quit (1) Dim 인 경우 종료 strPath : strPath = WScript.Arguments (0) Dim fso : fso = CreateObject ( "Scripting.FileSystemObject") Dim objFolder : Set objFolder = fso.GetFolder (strPath) Dim sDelList, sDelErr, sFilePath Dim iCnt iCnt = 0 DeleteZeroByteFiles objFolder Sub DeleteZeroByteFiles (폴더, 폴더 하위 폴더) Dim 하위 폴더 Junctions 등에 액세스 할 때 오류를 건너 뜁니다. 각 하위 폴더의 folder.SubFolders DeleteZeroByteFiles 하위 폴더 다음 On 오류 Goto 0 각 파일의 folder.files의 경우 file.size = 0이면 sFilePath = file.Path On Error Resume Next fso.DeleteFile 파일, Err.number 0이면 True sDelErr = sDelErr & Err.number & ":"& Err.description & _ vbCrLf & sFilePath & vbCrLf & vbCrLf 그렇지 않으면 sDelList = sDelList & vbCrLf & sFilePath iCnt = iCnt End + Eto. End If Next End Sub If sDelList = ""And sDelErr = ""그런 다음 WScript.Echo "빈 파일 없음 "& _" "" "& strPath &" "" ""& "tree"WScript.Quit End sDelList ""이면 sDelList = "빈 파일 목록이 삭제됨"& vbCrLf _ & String (38, "- ") & vbCrLf & sDelList & vbCrLf & _ vbCrLf &"총계 : "& iCnt &"파일이 삭제되었습니다. " sDelErr ""인 경우 sDelErr = "이 파일을 삭제할 수 없습니다"& _ vbCrLf & String (45, "-") & vbCrLf & sDelErr WScript.Echo sDelList & vbCrLf & vbCrLf & sDelErr 

용법

폴더에 대해 스크립트를 실행하려면 다음과 같이 wscript.exe 또는 cscript.exe를 사용할 수 있습니다.

$config[ads_text6] not found
 cscript d : \ scripts \ del-zero-byte-files.vbs "d : \ travel 문서"wscript d : \ scripts \ del-zero-byte-files.vbs "d : \ travel 문서" 

CScript.exe는 콘솔 창에 출력을 표시합니다. 즉, 출력을 보려면 명령 프롬프트 창에서 실행해야합니다.

WScript.exe는 GUI의 출력을 보여줍니다.

보내기 메뉴를 통해

SendTo 폴더에 스크립트 바로 가기를 작성하고 이름을 Delete 0-byte Files 로 지정할 수 있습니다. 바로 가기 속성 대상 필드의 접두사 wscript.exe

그런 다음 폴더 트리에서 빈 파일을 반복적으로 삭제하려는 폴더를 마우스 오른쪽 버튼으로 클릭하고 → 보내기를 클릭하고 → 보내기 메뉴에서 0 바이트 파일 삭제를 클릭합니다.

빈 파일 목록과 삭제 된 파일 목록 및 각각의 오류 코드가 표시된 상태에서 삭제할 수없는 파일이 표시됩니다.

관련 : Windows에서 빈 폴더를 자동으로 제거하는 방법

그게 다야!

관련 기사