Kuidas tuvastada protsessi, mis on Windowsis faili lukustanud

Kui proovite kustutada faili või kausta, mis on protsessis kasutuses, kuvatakse dialoogiaken Kasutatav fail, mis näitab faili lukustanud programmi nime.

Siiski on juhtumeid, kus dialoogiaken „Fail kasutusel” ei näita selle protsessi nime, mille fail on lukustatud, mida proovite kustutada. Mõnel juhul kuvatakse dialoogiaknas „toimingut ei saa lõpule viia, kuna fail on avatud teine ​​protsess“.

Otsige üles, milline protsess on faili lukustanud

Protsesside ja lukustatud failide uurimiseks on Windows Sysinternals Process Explorer tõenäoliselt esimene valik, mis enamikule kasutajatele meelde tuleb. Siiski on kaks sisseehitatud lahendused et kuvada praegune avatud failide loend koos vastavate protsesside nimedega.

Leidke, milline protsess on faili lukustanud, kasutades järgmist:

  1. Ressursimonitor (resmon.exe)
  2. Process Explorer Microsoft Sysinternalsilt
  3. Käepide Microsoft Sysinternalsilt
    • Otsige failikäepidet paremklõpsu menüü kaudu
  4. Openfiles.exe sisseehitatud konsoolitööriist
    • Lubage kohalike failikäepidemete jälgimine
    • Vaadake avatud faile ja vastavaid protsessinimesid
    • Katkestage jagatud kaustadest avatud failide ühendus
  5. OpenedFilesView saidilt Nirsoft.net (kolmanda osapool)

1. Ressursi jälgija

Ressursimonitor (resmon.exe) on sisseehitatud tööriist, millel on palju kasulikke funktsioone. Ressursimonitori abil saate seda teha jälgida praegust võrgu- ja Internetikasutust, vaadake seotud käepidemeid lukustatud failid, samuti hallata protsesse täpselt nii, nagu kasutaksite tegumihaldurit.

Lukustatud failiga protsessi nime leidmiseks klõpsake vahekaarti CPU, tippige failinimi või selle osa tekstiväljale Seotud käepidemed.

Otsige üles, milline protsess on faili lukustanud

Oleme varem käsitlenud Ressursimonitori. Vaadake neid artikleid:

  • Kuidas kasutada Ressursimonitori, et leida, milline protsess on faili lukustanud?
  • Milline programm kasutab kogu teie Interneti ribalaiust? Kasutage selle leidmiseks Ressursimonitori

2. Protsessiuurija

Protsessiuurija ei vaja tutvustamist. Process Exploreris piisab, kui kasutada funktsiooni Otsi ja sisestada faili nimi. See näitab failile juurdepääsu protsessi.

Otsige üles, milline protsess on faili lukustanud

Alumise paani vaates saate vajadusel failikäepideme sulgeda.

Peate käivitama Process Exploreri administraatorina, et hallata kõrgendatud tasemel töötavaid protsesse. Process Exploreri tõstmiseks klõpsake menüüd Fail → Kuva kõigi protsesside üksikasjad.

Vaadake neid Process Exploreriga seotud artikleid:

  • Kuidas kustutada Windowsis kangekaelset kustutamatut faili või kausta?
  • Otsige üles, milline programm teie veebikaamerat praegu kasutab
  • Kuidas leida, milline programm põhjustas tundmatu veateate?
  • Mida tähendab konteineris olevate objektide loetlemine ebaõnnestus?

3. Käepide Windows Sysinternalsist

Käepide on Microsoft Sysinternalsi utiliit, mis kuvab teavet süsteemi mis tahes protsessi avatud käepidemete kohta. Saate seda kasutada programmide vaatamiseks, millel on avatud fail, või programmi kõigi käepidemete objektitüüpide ja nimede vaatamiseks. Handle on nagu käsurea versioon Protsessiuurija.

Märge: Handle v4.21 sisaldab a väike viga Kui draivitäht on suurtähtedega, teatab alati teade "Sobivaid käepidemeid ei leitud". Loodetavasti parandab Microsoft selle järgmises värskenduses.

Alates an admin käsuviip aknas, kasutage faili avamise protsessi leidmiseks käsurea süntaksit:

hand.exe -a -u failinimi_koos_teega

Kui faili nimi sisaldab tühikuid, lisage see jutumärkidesse.

Näide:

hand.exe -a -u "c:\users\ramesh\desktop\Mandate-form.pdf"
leidke, millise protsessi lukustatud fail – sysinternalsi käepide

(Failinime mainimine ilma teeta ei pruugi igas olukorras toimida. Soovitav on alati lisada kogu tee.)

Väljundis kuvatakse protsessi nimi, protsessi identifikaator, kasutajanimi, lukustatud (siht)faili nimi koos teega.

Sysinternalsi käepide: käsurea argumendid

kasutus: käepide [[-a [-l]] [-u] | [-c [-y]] | [-s]] [-p |] [nimi] [-nobanner]
-a Tühjendage kogu käepideme teave.
-l Kuvage lihtsalt lehefaili tagatud jaotise käepidemed.
-c Sulgeb määratud käepideme (tõlgendatud kuueteistkümnendarvuna).
Peate määrama protsessi selle PID-iga. HOIATUS. Käepidemete sulgemine võib põhjustada rakenduse või süsteemi ebastabiilsust.
-y Ärge nõudke käepideme sulgemise kinnitust.
-s Igat tüüpi avatud käepideme trükiarvud.
-u Näidake käepidemete otsimisel omaniku kasutajanime.
-lk Protsessi kuuluvad prügikäepidemed (osaline nimi aktsepteeritud).
nimi Otsige objektidele käepidemeid (fragment vastu võetud).
-nobanner Ärge kuvage käivitusbännerit ja autoriõiguse teadet.

Ükski argument ei eemalda kõiki failiviiteid.

Lisage paremklõpsumenüüsse Sysinternalsi käepide

Saate lisada Sysinternals Handle'i failide paremklõpsu menüüsse, et kiiresti leida faili lukustanud programm. Selle kontekstimenüüsse lisamiseks toimige järgmiselt.

  1. Lae alla Käepide Microsoft Sysinternalsi saidilt.
  2. Kopeerige failid hand.exe & hand64.exe kausta – nt d:\tööriistad
  3. Kopeerige järgmised koodiread Notepadi ja salvestage fail nimega find_handle.vbs alalisse asukohta.
    Käitab Sysinternals Handle.exe utiliiti failinime argumendiga. © Ramesh Srinivasan -- https://winhelponline.com/blog. Loomise kuupäev: 29. märts 2008. Värskendatud kuupäev: 11. juuni 2019. Kõigi Windowsi versioonide jaoks, sealhulgas Windows 10 Option Explicit. Hämardage objShell, WshShell, objFSO, sBaseKey, sFilename. Set objShell = CreateObject("Shell. Taotlus") Set WshShell = CreateObject("WScript. kest") Set objFSO = CreateObject("Skriptimine. FileSystemObject") Kui WScript. Argumendid. Count = 0 Seejärel sBaseKey = "HKCU\Software\Classes\*\shell\" WshShell. RegWrite sBaseKey & "FindHandle\", "Find Handle", "REG_SZ" WshShell. RegWrite sBaseKey & "FindHandle\command\", "wscript.exe " & & _ WScript. ScriptFullName & & " " & & "% 1" &, "REG_SZ" Muidu Kui objFSO.FileExists (WScript. Argumendid (0)) = tõene Siis sFilename = lcase (WScript. Argumendid (0)) objShell. ShellExecute "cmd.exe", "/k d:\tools\handle.exe -a -u " & _ & sFailinimi &, "", "runas", 1 End If. Lõpeta Kui

    Märge: Sysinternals Handle.exe tee on kõvakodeeritud kujul d:\tools\handle.exe ülaltoodud skriptis. Kui programm asub teisel teel, muutke skripti teed vastavalt. 64-bitise Windowsi jaoks saate kasutada mõlemat hand.exe või hand64.exe

  4. Topeltklõps find_handle.vbs kontekstimenüü kirje lisamiseks registrisse. Peate seda tegema ainult üks kord. Kui aga paigutate skripti teise kausta, peate registri tee värskendamiseks uuesti topeltklõpsama.
  5. Näete Leidke käepide valik, kui teete failil paremklõpsu. Sellel klõpsamisel käivitatakse skript, mis omakorda käivitab failinime argumendiga Hand.exe, et leida protsess, mille puhul fail on lukustatud.leidke, millise protsessi lukustatud fail – sysinternalsi käepide

Et eemaldada Leidke käepide kontekstimenüü kirje, käivitage registriredaktor (regedit.exe) ja kustutage järgmine võti:

HKEY_CURRENT_USER\Software\Classes\*\shell\FindHandle

4. OpenFiles.exe – sisseehitatud konsoolitööriist

Teine sisseehitatud tööriist, mida kavatseme kasutada, on Openfiles.exe, konsoolitööriist, mis pole Windowsi jaoks uus. Algselt tutvustati seda 2000. aastal Windows Resource Kit 2000/2003 tööriistade osana. Seejärel lisati see utiliit vaikimisi Windows Vistasse ja uuematesse versioonidesse (sh Windows 10). Openfiles kuvab praegu avatud failide loendi kohalikest või jagatud kaustadest koos Handle ID ja protsessi käivitatava nimega. See tööriist võimaldab teil ka lahti ühendada ühe või mitme faili, mis on jagatud kaustast eemalt avatud.

Lubage esimest korda globaalne lipp "Maintain Objects List".

Esiteks, kohalike failikäepidemete jälgimise lubamiseks peate sisse lülitama lipu "objektide loendi säilitamine", käivitades administraatori käsurealt järgmise käsu.

openfiles /local sees

Näete järgmist teadet:

INFO: süsteemi globaalne lipp "objektide loendi säilitamine" on praegu lubatud.

Peate seda käsku käivitama ainult esimest korda. Seejärel taaskäivitage Windows, et muudatus jõustuks.

Vaadake avatud faile ja vastavaid protsessinimesid

Pärast Windowsi taaskäivitamist alates a admin käsuviip aken, tüüp:

avatud failid

See loetleb tabelivormingus faili/käepideme ID, protsessi nime ja lokaalselt avatud või kohalike jagamispunktide kaudu eemalt avatud failide loendi.

Väljundi vaatamiseks loendi- või CSV-vormingus kasutage parameetrit /query.

openfiles /query /FO LIST. avatud failid /päring /FO CSV

Väljundi lõikelauale kopeerimiseks suunake väljund faili Clip.exe, nagu allpool. Seejärel kleepige väljund Notepadi või mõnda muusse teie valitud redaktorisse.

openfiles |klipp
Otsige üles, milline protsess on faili lukustanud
avatud failid /päring /FO LIST |klipp. avatud failid /päring /FO CSV |klipp
Otsige üles, milline protsess on faili lukustanud

Lisateavet käsuviiba väljundi lõikepuhvrisse kopeerimise või väljundi faili salvestamise kohta leiate artiklist Kuidas käsurea väljundteksti lõikelauale kopeerida või faili salvestada?

Et teada saada, kas programm kasutab teatud faili (ja teada, milline programm), võite kasutada järgmist käsurida.

avatud failid | findstr /i 

Näide:

avatud failid | findstr /i eiffel

Ülaltoodud käsk loetleb kõik avatud failid, mille nimes on sõna "eiffel". Selles näites on Word 2016 faili „The Eiffeli torn.docx” (ID 4576) kohal praegu lukk.

Otsige üles, milline protsess on faili lukustanud

Ja dialoog "Fail kasutusel" ütleb mulle sama asja.

Otsige üles, milline protsess on faili lukustanud

Katkestage jagatud kaustast eemalt avatud failide ühendus.

Jagatud kaustast avatud failide ühenduse katkestamiseks, et saaksite faili kustutada, ümber nimetada või sisu muuta, kasutage /disconnect parameeter selle failiga ühenduste katkestamiseks. Siin on käsurea valikud.

AVAFIILID /Katkesta ühendus [/S süsteemiga [/U kasutajanimi [/P [parool]]]] {[/ID id] [/A accessedby] [/O openmode]} [/OP openfile] Kirjeldus. Võimaldab administraatoril katkestada ühenduse failide ja kaustadega, mis on kaugavatud jagatud kausta kaudu kausta. Parameetrite loend: /S-süsteem Määrab kaugsüsteemi, millega ühenduse luua. /U [domeen\]kasutaja Määrab kasutaja konteksti, milles käsk peaks käivituma. /P [parool] Määrab antud kasutajakonteksti parooli. /ID ID Määrab avatud failide ühenduse katkestamise faili ID järgi. Võib kasutada metamärki "*". /A accessedby Määrab kõigi avatud failide ühenduse katkestamise väärtuse "accessedby" järgi. Võib kasutada metamärki "*". /O openmode Määrab kõigi avatud failide ühenduse katkestamise "openmode" väärtuse järgi. Kehtivad väärtused on Read, Write või Read/Write. Võib kasutada metamärki "*". /OP openfile Määrab kõigi avatud failiühenduste lahtiühendamise, mis on loodud konkreetse "avatud faili" nimega. Võib kasutada metamärki "*". /? Kuvab selle abiteate. Näited: OPENFILES /Katkesta ühendus /? OPENFILES /Katkesta ühendus /ID 1 OPENFILES /Katkesta ühendus /Kasutajanimi OPENFILES /Katkesta ühendus /O Loe/kirjuta OPENFILES /Katkesta ühendus /OP "c:\Minu Documents\somedoc.doc" /ID 234 OPENFILES /Katkesta ühendus /S süsteem /U kasutajanimi /ID 5 OPENFILES /Katkesta ühendus /S süsteem /U kasutajanimi /P parool /ID*

Openfiles.exe teeb suurepäraselt kõik avatud failid koos protsessinimedega loetledes, kuid see ei saa protsesse sunniviisiliselt tappa. See suurepärane (kuid tähelepanuta jäetud) sisseehitatud konsoolitööriist võib aga olla kasulik, kui soovite kiiresti leida protsessi nime, mis kasutab faili või faili ühenduse katkestamiseks, millele võrgukasutaja pääseb juurde jagatud kausta kaudu – ilma kolmandast osapoolest sõltumata lahendus.

5. OpenedFilesView

OpenedFilesView Nirsoftist kuvab kõigi teie süsteemis avatud failide loendi. Iga avatud faili kohta kuvatakse lisateavet: käepideme väärtus, lugemise/kirjutamise/kustutamise juurdepääs, faili asukoht, protsess mis faili avas ja palju muud... Soovi korral saate sulgeda ka ühe või mitu avatud faili või sulgeda protsessi, mis need avas failid.

Otsige üles, milline protsess on faili lukustanud

Saate sulgeda valitud failide protsessid või sulgeda valitud failikäepidemed. Käepideme number on esitatud kuueteistkümnendväärtustes, samas kui konsoolitööriist openfiles.exe näitab seda tavavormingus. See tööriist võimaldab teil lisada ka kontekstimenüü suvandi, et paremklõpsumenüü kaudu kiiresti leida protsess, mis praegu faili kasutab. Kontekstimenüü valik / käsurea tugi on minu arvates üks kõige kasulikumaid funktsioone, mida OpenedFilesView pakub.


Üks väike palve: kui teile see postitus meeldis, siis palun jagage seda?

Üks "pisike" jagamine sinult aitaks tõsiselt kaasa selle blogi kasvule. Mõned suurepärased soovitused:
  • Kinnitage see!
  • Jagage seda oma lemmikblogis + Facebookis, Redditis
  • Tweet seda!
Nii et tänan teid väga teie toetuse eest, mu lugeja. See ei võta teie ajast rohkem kui 10 sekundit. Jagamisnupud on kohe all. :)

Ezoicteatage sellest kuulutusest