If-Koubou

Как, точно, работи ли кошчето с Windows?

Как, точно, работи ли кошчето с Windows? (Как да)

Изтривате файл в Windows, той се изхвърля в кошчето и по-късно го изхвърляте отново. Какво точно се случва по време на този процес?

Днешната сесия за въпроси и отговори ни идва с любезното съдействие на SuperUser - подразделение на Stack Exchange - обединяване на уеб сайтове с въпроси и отговори.

Въпроса

Дисплеят на SuperUser Jonathon е любопитен за кошчето:

Какво прави всъщност Кошчето в Windows? Дали това е просто прославена папка и място за задържане на файлове, които скоро ще бъдат изтрити, или прави ли нещо конкретно? По-конкретно, файловете, които се "преместват" в кошчето, действително се преместват на твърдия диск, или са само насочващите към преместването файлове? Аз съм доста опитен потребител, просто исках по-задълбочено обяснение на кошчето.

И така, каква е историята? Как точно функционира кошчето като вид чистачка?

Отговорът

Contributor на SuperUser Tim Wijsman предлага връх зад завесата:

Препратката се премахва, в кошчето се съхранява файл с метаданни, за да се знае първоначалното местоположение.

В ранните дни, на Windows 95 и 98 това се намира в\ РЕЦИКЛИРАНА, На Windows 2000 и по-късно е преименувано на\ RECYCLER, От Windows Vista вече се нарича специална папка\ $ Recycle.Bin.

Използвайте Монитор на процесите, за да видите I / O под капака, поставете филтърКошче и го посетете. :)

Например, когато направя това:

бележник \ $ RECYCLE.BIN \ S-1-5-21-0192837465-987654321-0123456789-1000 \ $ EXAMPL5 

Забележка: Името на дългата папка е User SID. Последното име на папката е хеш, базиран на метаданните.

Получавам файл, който съдържа информация за метаданни по този начин:

 Ö¸C: \ P a t h \ T o \ S o m e \ E x a m p l e. текст 

Причината, поради която файловата пътека има интервал между тях, е, че тя се съхранява в широки байтове, за да поддържа специални знаци за определени езици, както и unicode и какво друго. По-ранните символи са двоични и съдържат информация като размера и разрешенията на файла, както и указател към файловите данни. По същество тя съдържа достатъчно информация, за да възстанови оригиналната референция ...

Тъжно е, че книгата Windows Internals не покрива това, или иначе щях да имам повече сведения. Не съм намерил никакви статии, които да се занимават подробно с това, нито от Microsoft, нито от трети лица. Вероятно те съществуват, но открих, че е по-лесно да се върне и да се обърне основната концепция ...

Имате ли нещо, което да добавите към обяснението? Звучи в коментарите. Искате ли да прочетете повече отговори от други потребители на Stack Exchange? Вижте цялата тема на дискусията тук.