Praegu avatud või Windowsis kasutatavaid faile ei saa teisaldada ega kustutada enne, kui need on suletud. Suurem osa ajast seotud programmi sulgemine teeks tööd, kuid mõnikord see ikkagi ei toimi, kuna see on mällu kaardistatud või mõne muu protsessiga kaitstud. Selle probleemi lahendamiseks tugineb enamus meist lihtsalt kolmanda osapoole tarkvarale nagu FileASSASSIN, LockHunter, IObit Unlocker, BlitzBlank jms, mis on võimeline tuvastama lukustatud faile ja proovima neid edasisteks toiminguteks avada. Lukustatud failide avamisel on oma risk, mis võib põhjustada opsüsteemi krahhe.
Ohutum lahendus on märkida fail kustutatavale järgmisel taaskäivitamisel ja Microsoft Windowsi opsüsteem on arendajatele selle hõlpsaks teinud, kuna kaasasoleva MoveFileEx API-ga on failide kustutamine või ümbernimetamine / teisaldamine järgmisel korral, kui süsteem taaskäivitatakse. Selle ülesande täitmiseks loetakse registrikannet nimega PendingFileRenameOperations, mis asub aadressil HKLM \ SYSTEM \ CurrentControlSet \ Control \ Session Manager. Pange tähele, et registrivõtit PendingFileRenameOperations ei eksisteeri, kui ootel toimingut pole.
Kui teile ei meeldi jama Windowsi registriga, on siin mõned tasuta tööriistad, mis aitavad teil lugeda PendingFileRenameOperationsi võtmeid ja kuvada ootel olevate failitoimingute loendi. Mõnel neist on võimalus lubada teil järgmise taaskäivituse käske teisaldada ja käske kustutada. 1. PendMoves ja MoveFile
PendMoves on Windows Sysinternali lihtne käsuridarakendus, kus see saab lugeda võtmeid PendingFileRenameOperations ja kuvada failide loend, mis kas kustutatakse või uude asukohta teisaldatakse. Tühja sihtmärki näidatakse kui Kustuta, vastasel juhul teisaldatakse lähtefail uude asukohta.
Kuna PendMoves on käsuridade rakendus, tuleb selle tulemuste nägemiseks käivitada käsurealt, vastasel juhul saate ainult vilkuva musta akna avanemise ja sulgemise iseenesest. Vajutage nuppu WIN + R, tippige väljale Käivita cmd ja klõpsake nuppu OK. Valige kataloog, kus pendmoves.exe asub, ja tippige rakenduse käivitamiseks failinimi.
Eraldi rakendus nimega MoveFile, mis on arhiivis komplekteeritud koos PendMovesiga, on kirje lisamiseks PendingFileRenameOperations-is, et ajastada fail Windowsi järgmisel alglaadimisel kustutatavaks või teisaldatavaks. Faili teisaldamiseks täpsustage lihtsalt allikas ja sihtkoht. Kui sihtkoht tühjendatakse kahekordsete jutumärkidega, kustutatakse allikas.
Allpool toodud näite käsk teisaldab test.zip C: \ -st Raymondi kasutajakonto töölauale.
C: \ movefile.exe c: \ test.zip c: \ raymond \ kasutaja \ desktop \ test.zip
Allolev käsk plaanib test.zip-faili kustutada järgmisel Windowsi buutimisel.
C: \ movefile.exe c: \ test.zip “”
Laadige alla PendMoves ja MoveFile
2. MiksReboot
Kui eelistate kasutajasõbralikumat tööriista, millel on graafiline kasutajaliides, oleks teie valik WhyReboot. WhyReboot on väike ja kaasaskantav tööriist, mis kuvab ootel olevate failioperatsioonide loendi ja lisaks RunOnce registrivõtme. Registrivõti RunOnce on Windowsi käsk käivitada määratud programm automaatselt käivitamise ajal ainult üks kord ja võti eemaldatakse, kui see on taotluse töötanud.
Ehkki WhyReboot on loodud selleks, et teha kindlaks, kas peaksite pärast programmi või värskenduse installimist seda küsima taaskäivitama, on selle tegemine siiski üsna kaugel. WhyReboot ei suuda teile öelda, kas oluline tuumadraiver või DLL-fail on asendatud, ja nõuab laadimist taaskäivitamist, mida turbepõhises tarkvaras nagu viirusetõrjeprogramm üsna sageli näha on.
Laadige alla WhyReboot
3. WMI VBScript
Administraatoritele või programmeerijatele, kes eelistavad skriptimist automatiseerimise paindlikkusele, leidsime käepärase WMI VBScripti, mille on kirjutanud Microsofti teenuste lahendusearhitekt Tom Mills. Põhimõtteliselt loeb VBS-fail seda, mida PendingFileRenameOperations näitab, ja näitab tulemust hüpikaknas.
VBS-koodi leiate Tom Millsi MSDN-i ametlikult ajaveebisaidilt või saate allpool oleva skripti alla laadida.
Laadige alla CheckPendingFileRenameOperations.vbs
4. TeisaldaEx
MoveExil on kaks versiooni, ühe on loonud Alexander Frink, mille võib leida Softpediast, teise Frank Westlake saidilt ss64.net ja meie esindame viimast. Põhjus, miks eelistame Franki asemel MoveExit Aleksandri asemel, on võimalus kustutada üksus PendingFileRenameOperations üksustest lisaks operatsiooni parsimisele ja kuvamisele.
PendingFileRenameOperations kirjete kuvamiseks käivitage rakendus käsuridal lihtsalt rakendus. Üksiku PendingFileRenameOperations kirje kustutamiseks peate lisama / d koos kirje numbriga, mis kuvatakse MoveExi käitamisel ilma käsuridade argumendita. Nagu ülaltoodud ekraanipildist näete, loetleb esimene käsk kõik PendingFileRenameOperationsi kirjed ja teine käsk, millel on “/ d 003”, kustutab kolmanda kirje.
Kirje PendingFileRenameOperations lisamine rakenduse MoveEx abil on sama, mis rakenduses Sysinternals asuv MoveFile, mis täpsustab allikat, millele järgneb sihtmärk. Kui sihtmärk tühjaks jäetakse, ajastatakse Windows lähtefaili kustutamiseks.
Laadige alla MoveEx
5. Lisage või kustutage kanne PendingFileRenameOperations
Võtme PendingFileRenameOperations käsitsi süsteemiregistrist kustutamisel pole probleeme, kuid kirje lisamine on keeruline, kuna see on REG_MULTI_SZ väärtus, mitte tavaline string või DWORD. Kustutamiseks liikuge lihtsalt registris HKLM \ SYSTEM \ CurrentControlSet \ Control \ Session Manager ja kustutage võti PendingFileRenameOperations.
Kustutuskirje lisamiseks minge parempoolsel paanil hiire parema nupuga hiireklõpsuga HKLM \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \, minge uuele, valige Multi-Stringi väärtus ja pange see nimeks PendingFileRenameOperations . Topeltklõpsake vastloodud registriväärtusel ja sisestage faili täielik asukoht alustades \ ?? \ (näiteks \ ?? \ C: \ raymondcc.exe ), mille soovite kustutamiseks ajastada. Kui olete lõpetanud, klõpsake nuppu OK. Nüüd paremklõpsake saidil PendingFileRenameOperations ja valige käsk Muuda binaarandmeid. Väärtusandmetes peaksite nägema hunnikut numbreid. Sisestage neli nulli “00 00” ilma jutumärkideta kuusnurga lõpus ja klõpsake nuppu OK. Taaskäivitage arvuti ja fail kustutatakse.
Kummalisel kombel on faili teisaldamisoperatsiooni ajastamine Windowsi buutimise ajal PendingFileRenameOperations abil, võrreldes kustutamisega, kuna see ei hõlma registri binaarandmete muutmist. Järgige ülalolevaid samme, kuni olete jõudnud osa juurde, et lisada väärtuse andmed kasti Redigeerimine mitme stringi abil. Peate määrama kaks teed, mis on lähte- ja sihtkoht. Allpool toodud näide teisaldab faili raymondcc.exe kataloogist C: \ allikas kataloogi c: \ sihtkoht.
\ ?? \ C: \ allikas \ raymondcc.exe
\ ?? \ C: \ target \ raymondcc.exe