5 måter å vise, planlegge slette eller flytte filer på neste oppstart av Windows

2017-02-27 18:52:44
Hoved~~Pos=Trunc·Windows·5 måter å vise, planlegge slette eller flytte filer på neste oppstart av Windows

Filer som for øyeblikket er åpnet eller er i bruk i Windows, kan ikke flyttes eller slettes før de er lukket. Det meste av tiden å lukke det tilknyttede programmet vil gjøre jobben, men noen ganger vil det fremdeles ikke fungere fordi det er kartlagt til minnet eller beskyttet av en annen prosess. For å løse dette problemet vil de fleste av oss bare stole på en tredjeparts programvare som FileASSASSIN, LockHunter, IObit Unlocker, BlitzBlank og så videre som er i stand til å oppdage låste filer og forsøke å låse dem opp for videre handlinger. Å låse opp låste filer har en egen risiko som muligens kan forårsake krasjer på operativsystemet.

Den tryggere løsningen er å merke filen for sletting ved neste omstart, og operativsystemet Microsoft Windows har gjort det enkelt for utviklere fordi det kommer med et MoveFileEx API for å slette eller gi nytt navn til / flytte filer neste gang systemet starter opp. Denne oppgaven utføres ved å lese en registeroppføring som heter PendingFileRenameOperations lokalisert på HKLM \ SYSTEM \ CurrentControlSet \ Control \ Session Manager. Vær oppmerksom på at registernøkkelen PendingFileRenameOperations ikke vil foreligge med mindre det er en pågående operasjon.

Hvis du ikke liker å rote med Windows-registeret, har vi her noen få gratis verktøy som kan hjelpe deg med å lese PendingFileRenameOperations-tastene og vise listen over ventende filoperasjoner. Noen av dem har muligheten til å tillate deg å planlegge flytte og slette kommandoer for neste omstart. 1. PendMoves og MoveFile

PendMoves er et enkelt kommandolinjeprogram av Windows Sysinternals der den kan lese PendingFileRenameOperations-tastene og vise listen over filer som enten blir slettet eller flyttet til det nye målstedet. Tomt mål vises som SLETT, ellers vil det være det nye stedet der kildefilen vil bli flyttet til.

Siden PendMoves er et kommandolinjeprogram, må det kjøres fra ledeteksten for å se resultatene, ellers får du bare et blinkende svart vindu som åpnes og lukkes av seg selv. Trykk på WIN + R, skriv cmd i Kjør-boksen og klikk OK. Endre til katalogen der pendmoves.exe ligger, og skriv inn filnavnet for å kjøre programmet.

Et eget program kalt MoveFile som er samlet sammen med PendMoves i arkivet, er for å legge til en oppføring i PendingFileRenameOperations for å planlegge en fil som skal slettes eller flyttes på neste Windows-oppstart. Bare angi kilden og destinasjonen for å flytte filen, eller hvis du forlater destinasjonen tom med to doble anførselstegn, slettes kilden.

Eksempelkommandoen nedenfor vil flytte test.zip fra C: \ til Raymond-brukerkontoens skrivebord.

C: \ movefile.exe c: \ test.zip c: \ raymond \ user \ desktop \ test.zip

Kommandoen nedenfor vil planlegge å slette test.zip-filen ved neste Windows-oppstart.

C: \ movefile.exe c: \ test.zip “”

Last ned PendMoves og MoveFile


2. WhyReboot

Hvis du foretrekker et mer brukervennlig verktøy som har et grafisk brukergrensesnitt, vil WhyReboot være ditt valg. WhyReboot er et lite og bærbart verktøy som viser en liste over ventende filoperasjoner og i tillegg RunOnce registernøkkel. RunOnce-registernøkkelen er en instruksjon for Windows om automatisk å kjøre et spesifisert program bare en gang under oppstart, og nøkkelen blir fjernet når den har behandlet forespørselen.

Selv om WhyReboot er opprettet for å finne ut om du skal starte datamaskinen på nytt når du blir bedt om det etter å ha installert et program eller en oppdatering, er det fremdeles ganske langt fra å kunne gjøre det. WhyReboot kan ikke fortelle deg om en viktig kjernedriver eller DLL-fil er erstattet og krever en omstart for å laste, noe som ganske ofte sees i sikkerhetsbasert programvare, for eksempel et antivirusprogram.

Last ned WhyReboot


3. WMI VBScript

For administratorer eller programmerere som foretrekker skripting for fleksibilitet i implementering av automatisering, fant vi et praktisk WMI VBScript skrevet av Tom Mills, en løsningsarkitekt med Microsoft Services. I utgangspunktet hva VBS-filen gjør er å lese og analysere PendingFileRenameOperations som viser resultatet i et popup-vindu.

VBS-koden kan fås fra det offisielle Tom Mills MSDN-bloggstedet, eller du kan laste ned skriptet nedenfor.

Last ned CheckPendingFileRenameOperations.vbs


4. MoveEx

Det er to versjoner av MoveEx, den ene er opprettet av Alexander Frink som finnes i Softpedia, den andre av Frank Westlake fra ss64.net, og vi har den siste. Årsaken til at vi foretrekker MoveEx av Frank fremfor Alexander, er muligheten til å slette en individuell oppføring i PendingFileRenameOperations annet enn bare å analysere og vise operasjonen.

For å se PendingFileRenameOperations-oppføringene, kjører du ganske enkelt applikasjonen på kommandolinjen. For å slette en individuell PendingFileRenameOperations-oppføring, må du legge til / d sammen med oppføringsnummeret som vises når du kjører MoveEx uten et kommandolinjeargument. Som du ser fra skjermdumpen over, sletter den første kommandolisten alle oppføringene i PendingFileRenameOperations og den andre kommandoen som har en “/ d 003”, sletter den tredje oppføringen.

Å legge til en PendingFileRenameOperations-oppføring ved hjelp av MoveEx er den samme som MoveFile fra Sysinternals som angir kilden etterfulgt av mål. Hvis du lar målet være tomt, vil Windows planlegge å slette kildefilen.

Last ned MoveEx


5. Legg til eller slett manuelt PendingFileRenameOperations Entry

Det er ikke noe problem i å manuelt slette PendingFileRenameOperations-nøkkelen fra systemregisteret, men å legge til en oppføring er vanskelig fordi det er en REG_MULTI_SZ-verdi ikke normalstrengen eller DWORD. For å slette, naviger bare til HKLM \ SYSTEM \ CurrentControlSet \ Control \ Session Manager i registeret og slett tasten PendingFileRenameOperations.

For å legge til en sletteoppføring, gå til HKLM \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ høyreklikk i høyre rute, gå til Ny, velg multistrengverdi og navngi den som PendingFileRenameOperations . Dobbeltklikk på den nyopprettede registerverdien og skriv inn hele plasseringen av filen som begynner med \ ?? \ (for eksempel \ ?? \ C: \ raymondcc.exe ) som du vil planlegge for sletting. Klikk OK når du er ferdig. Høyreklikk nå på PendingFileRenameOperations og velg Endre binære data . Du bør se en haug med tall i verdidataene. Skriv inn fire nuller “00 00” uten anførselstegn på slutten av sekskantstrengen, og klikk OK. Start datamaskinen på nytt, og filen blir slettet.

Det er rart å planlegge en flytteoperasjon på en fil under oppstart av Windows ved å bruke PendingFileRenameOperations så mye lettere hvis man sammenligner det med å slette fordi det ikke innebærer å endre de binære dataene i registeret. Følg trinnene over til du har nådd delen for å legge til en verdidata i boksen Rediger flerstreng. Du må spesifisere to stier som er kilden og målet. Et eksempel nedenfor vil flytte filen raymondcc.exe fra C: \ source til c: \ target.

\ ?? \ C \ kilde \ raymondcc.exe
\ ?? \ C \ target \ raymondcc.exe

Redaksjonens