7Sep

Hur, exakt, fungerar Windows-papperskorgen?

Du tar bort en fil i Windows, den dumpas i papperskorgen, och senare fiskar du den igen. Vad händer exakt under hela processen?

Dagens fråga &Svarssession kommer till oss med tillstånd av SuperUser-en indelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser.

Frågan

SuperUser-läsare Jonath0n är nyfiken på papperskorgen:

Vad gör papperskorgen i Windows faktiskt?Är det bara en förhärligad mapp och en hållplats för att snart bli raderade filer, eller gör det något specifikt? Specifikt är filer som "flyttas" till papperskorgen faktiskt flyttad på hårddisken eller är bara pekarna till filerna rörda? Jag är en ganska erfaren användare, jag ville bara ha en djupare förklaring av papperskorgen.

Så vad är historien? Hur exakt fungerar papperskorgen som ett slags filsaxel?

Svaret

SuperUser-bidragsgivaren Tim Wijsman erbjuder en topp bakom gardinen:

Referensen tas bort, en metadatafil hålls i papperskorgen för att känna till den ursprungliga platsen.

I de tidiga dagarna, på Windows 95 och 98, placerades detta i \ RECYCLED.I Windows 2000 och senare ändrades det till \ RECYCLER.Sedan Windows Vista är det nu en speciell mapp som heter \ $ Recycle. Bin.

Använd Process Monitor för att se I / O under huven, sätt ett filter på Recycle. Bin och besök det.:)

Till exempel när jag gör det här:

anteckningsblock \ $ RECYCLE.BIN \ S-1-5-21-0192837465-987654321-0123456789-1000 \ $ EXAMPL5

Anm: Det långa mappnamnet är ett användarsid. Det sista mappnamnet är en hash baserat på metadata.

Jag får en fil som innehåller metadatainformation som denna:

ÖØÌC: \ P a t h \ T o \ S o m e \ E x a m p l e.t x t

Anledningen till att filbanan har mellanslag är att den är lagrad i bredbyte-tecken, för att stödja specialtecken för vissa språk såväl som unicode och vad mer. De tidigare symbolerna är binära och innehåller information som filstorlek och behörigheter, samt en pekare till fildata. I grunden innehåller den tillräckligt med information för att rekonstruera den ursprungliga referensen. ..

Det är ledsen att Windows Internals boken inte täcker detta, annars skulle jag ha fått mer referens. Jag har inte hittat några artiklar som går i detalj på detta, varken av Microsoft eller av tredje part. De finns förmodligen men jag hittade det lättare att gå och vända om huvudkonceptet. ..

Har du något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa mer svar från andra tech-savvy Stack Exchange-användare? Kolla in hela diskussionsgängan här.