휴지통에 있는 파일 수를 제한하시겠습니까?

휴지통에 있는 파일 수를 제한하시겠습니까?

몇 주 전에 저는 데이터 드라이브의 오래된 백업을 조심스럽게 삭제하고 있었습니다. 이전 백업과 Live Copy 사이에 중복 파일 검사를 수행하고 이전 복사본을 휴지통으로 삭제했습니다. 잘 진행되고 있었고 예상대로 갑자기 더 이상 아무것도 삭제할 수 없었습니다. 파일을 삭제하려고 할 때마다—어느파일 - 이전 백업에서는 실패합니다.

휴지통을 살펴보니 단순히 휴지통이 있기 때문일 수도 있다는 생각이 들었습니다.파일이 너무 많습니다쓰레기통 안에. 나는 그것에 대해 말하는 것이 아닙니다크기, 하지만숫자파일의. 이 상황에 대한 몇 가지 사실은 다음과 같습니다.

  • Windows XP 시스템입니다.
  • 이전 백업이 포함된 볼륨은 FAT32입니다.
  • 이전 백업이 포함된 볼륨의 여유 공간은 302MB였습니다.
  • 휴지통에 31,594개의 파일이 있을 때 문제가 발생했습니다.
  • 재활용된 파일은 236MB를 사용했습니다.
  • INFO2재활용된 파일의 원본 파일 이름을 추적하는 파일이 24MB를 초과합니다 .
  • 파일을 하나 더 삭제하려고 해도 작동하지 않습니다.그 크기에 상관없이
  • 휴지통은 모든 드라이브에 제한이 없도록 구성됩니다.

이것저것 찾아보려고 했으나,내가 찾을 수 있는 가장 가까운한도에 대한 정보입니다.크기휴지통에 대해서는 아무 것도 없습니다.파일 수.

이 이야기를 들어본 사람이 있나요? 누구든지 제한이 있음을 확인할 수 있습니까?얼마나파일을 저장할 수 있나요?

"가득찬" 휴지통 스크린샷

답변1

FAT32 디렉토리에는 65,536개의 디렉토리 항목이 있을 수 있습니다.

각 파일과 하위 디렉터리는 이름 길이에 따라 2~13개의 항목을 갖습니다.

따라서 가장 낙관적인 상황에서 휴지통은 모두 8.3 범위의 파일 이름을 가지고 있는 경우 65,536 /2 = 32768개의 파일+디렉터리를 보유할 수 있습니다. (짧은 이름)

31594개의 파일과 53개의 디렉터리가 한계에 도달한 것 같습니다.
더 긴 파일 이름으로 인해 2개 이상의 항목을 사용하는 파일이 몇 개 있을 수 있습니다.


편집하다:

FAT32 사양은 다음에서 확인할 수 있습니다.
http://www.microsoft.com/whdc/system/platform/firmware/fatgen.mspx

디렉터리 구조와 긴 파일 이름(LFN)이 디렉터리에 저장되는 방식을 포함한 모든 것에 대한 세부 정보를 제공합니다. 기본적으로 항상 짧은(8.3) 버전의 파일 이름을 보유하는 하나의 디렉토리 항목이 있습니다. 그리고 Windows에서는 긴 파일 이름(LFN)에 대해 대소문자 구분이 필요하기 때문에 LFN에 대해 별도의 디렉터리 항목이 필요합니다(또는 13자보다 긴 경우 여러 개).

액세스 지역성과 투명성의 목표를 달성하기 위해 긴 디렉토리 항목은 특수 속성을 가진 짧은 디렉토리 항목으로 정의됩니다.


편집 #2:

Windows XP 및 FAT32 드라이브(최대 휴지통 사용)가 있는 VM에서 몇 가지 테스트를 수행했습니다.

디렉터리 에 data하위 디렉터리를 만든 test후 이 배치 파일을 실행했습니다.

@echo off
if "%1"=="####" goto %1
  for %%a in (0 1 2 3 4 5 6 7 8 9 A B C D E F) do call %0 #%1 %2 %3 %4 %%a
  goto EOF
:####
  echo %2%3%4%5
  echo test > test\%2%3%4%5
:EOF

결과적으로 65534개의 파일이 생성되었습니다(짧은 이름만 포함). 예상대로 2개의 디렉토리 항목( 및 ) 때문에 마지막 두 파일( FFFE및 ) 을 추가할 수 없습니다 . 따라서 2개의 항목 만 선택하세요. 나중에 알아두면 좋습니다.)FFFF......

다음으로 45000개 이상의 파일을 선택하고 탐색기에서 삭제했습니다
(삭제하기 전에 정보를 수집하는 데 시간이 좀 걸렸습니다).

휴지통에 있는 파일 이름은 등이기 때문에 De1De2파일 이름입니다(대소문자 혼합으로 인해). 32765개의 파일을 삭제한 후 Explorer에서 오류가 발생했습니다.

그것은 dir /a/x나에게 32767개의 파일과 2개의 디렉토리를 주었다.
32765개의 사용자 파일(포함LFN), INFO2desktop.ini(둘 다 LFN 없음).

(32765 * 2) = 65530 + 2(LFN 제외) + 2 디렉터리 항목 = 65534

음, 아직 2개는 짧네요 ;)

65534를 사용하면 1(LFN 사용)을 더 추가할 수 있습니다. 그래서 Windows에서는 일부 임시 파일에 대한 추가 무료 항목이 필요할 수 있다고 생각합니다.

하지만 보시다시피제한은 65530개의 디렉터리 항목입니다.그 중 각 파일은 2를 차지합니다.
(그래서파일 32765개결과 파일 이름이 대소문자를 혼합하기 때문에그리고 심지어 더 적은확장자가 3)보다 큰 경우.

내가 이것을 테스트했을 때 파일 이름은 모두 등이었습니다 De1. De2(확장자가 없는 모든 파일의 원본) 파일 이름에는 확장자가 있습니다. 확장자가 더 긴 경우(>3) Windows가 휴지통에 확장자를 보존하기 때문에 더 많은 항목이 필요할 수 있습니다.

그러나 (원본) 파일 이름은 INFO2.


편집 #3:

방금 Windows의 삭제 메커니즘을 확인했습니다.필요하다추가 디렉토리 항목.

xcopy e:\recycled\*.* e:\test\ /e/s/h전체 휴지통을 사용하여 휴지통에 있는 모든 파일(32767개 파일)을 테스트 디렉터리로 복사했습니다 .

De_test1.txt여전히 1개의 파일 (LFN) 을 만들 수 있습니다 e:\test. 생성 중 De_test2.txt오류가 발생했습니다.

따라서 "Windows 삭제"는 1개의 추가(LFN) 파일을 생성할 수 있을 만큼 충분했지만 내부 문제로 인해 그럴 수 없습니다.

그래서일반 폴더...= 65534 항목 에 대한 제한은 65536 -2입니다 .
그리고쓰레기통and 의 경우 65536 -2 .이고 and ..의 경우 -2 입니다 .desktop.iniINFO2
그리고-temp.file(?)의 경우 -2 = 65530개 항목
, 65530개 항목의 경우 최대 32765개 파일(및더 적은확장자가 3보다 큰 경우).

관련 정보