Kuinka tunnistaa prosessi, joka on lukinnut tiedoston Windowsissa

click fraud protection

Kun yrität poistaa prosessin käytössä olevan tiedoston tai kansion, näkyviin tulee Käytössä oleva -valintaikkuna, jossa näkyy tiedoston lukitseneen ohjelman nimi.

On kuitenkin tapauksia, joissa "Käytössä oleva tiedosto" -valintaikkuna ei näytä sen prosessin nimeä, jolla on lukittu tiedosto, jota yrität poistaa. Joissakin tapauksissa valintaikkunassa näkyy "toimintoa ei voida suorittaa loppuun, koska tiedosto on auki toinen prosessi“.

Selvitä, mikä prosessi on lukinnut tiedoston

Prosessien ja lukittujen tiedostojen tutkimiseen Windows Sysinternals Process Explorer on luultavasti ensimmäinen vaihtoehto, joka tulee mieleen useimmille käyttäjille. Niitä on kuitenkin kaksi sisäänrakennettuja ratkaisuja näyttääksesi nykyisen avoimien tiedostojen luettelon ja vastaavien prosessien nimet.

Etsi, mikä prosessi on lukinnut tiedoston, käyttämällä:

  1. Resurssien valvonta (resmon.exe)
  2. Process Explorer Microsoft Sysinternalsilta
  3. Kahva Microsoft Sysinternalsilta
    • Etsi tiedostokahva hiiren oikealla painikkeella
  4. Openfiles.exe sisäänrakennettu konsolityökalu
    • Ota paikallisten tiedostokahvojen seuranta käyttöön
    • Tarkastele avoimia tiedostoja ja vastaavia prosessinimiä
    • Katkaise yhteys jaetuista kansioista avattuihin tiedostoihin
  5. OpenedFilesView osoitteesta Nirsoft.net (3rd party)

1. Resurssien valvonta

Resource Monitor (resmon.exe) on sisäänrakennettu työkalu, jossa on monia hyödyllisiä ominaisuuksia. Resource Monitorin avulla voit seurata nykyistä verkon ja Internetin käyttöä, näytä liittyvät kahvat lukitut tiedostot, sekä hallita prosesseja aivan kuten käyttäisit Task Manageria.

Jos haluat löytää prosessin nimen, jossa tiedosto on lukittu, napsauta CPU-välilehteä, kirjoita tiedoston nimi tai osa siitä Liittyvät kahvat -tekstiruutuun.

Selvitä, mikä prosessi on lukinnut tiedoston

Olemme käsitelleet Resource Monitoria aiemmin. Tutustu näihin artikkeleihin:

  • Kuinka käyttää Resource Monitoria etsimään, mikä prosessi on lukinnut tiedoston?
  • Mikä ohjelma käyttää kaikkea Internetin kaistanleveyttäsi? Käytä Resource Monitoria löytääksesi sen

2. Process Explorer

Process Explorer ei esittelyjä kaipaa. Process Explorerissa sinun tarvitsee vain käyttää Etsi-ominaisuutta ja kirjoittaa tiedoston nimi. Tämä näyttää prosessin, joka käyttää tiedostoa.

Selvitä, mikä prosessi on lukinnut tiedoston

Alemman ruudun näkymässä voit sulkea tiedostokahvan tarvittaessa.

Sinun on suoritettava Process Explorer järjestelmänvalvojana voidaksesi hallita prosesseja, jotka ovat käynnissä korotetulla tasolla. Voit nostaa Process Exploreria napsauttamalla Tiedosto-valikkoa → Näytä kaikkien prosessien tiedot.

Tutustu näihin Process Exploreriin liittyviin artikkeleihin:

  • Kuinka poistaa itsepäinen poistamaton tiedosto tai kansio Windowsissa?
  • Selvitä, mikä ohjelma käyttää verkkokameraasi tällä hetkellä
  • Kuinka selvittää, mikä ohjelma aiheutti tuntemattoman virheilmoituksen?
  • Mitä Säilön objektien luettelointi epäonnistui tarkoittaa?

3. Kahva Windows Sysinternalsista

Kahva on Microsoft Sysinternalsin apuohjelma, joka näyttää tietoja järjestelmän minkä tahansa prosessin avoimista kahvoista. Voit käyttää sitä nähdäksesi ohjelmat, joissa tiedosto on auki, tai nähdäksesi objektityypit ja kaikkien ohjelman kahvojen nimet. Handle on kuin komentoriviversio Process Explorer.

merkintä: Handle v4.21:ssä on a pieni bugi jossa se aina ilmoittaa "Ei vastaavia kahvoja löytynyt", jos asemakirjain on isolla kirjaimella. Toivottavasti Microsoft korjaa sen seuraavassa päivityksessä.

Alkaen an admin komentokehote -ikkunassa käytä komentorivisyntaksia löytääksesi prosessin, joka avaa tiedoston:

hand.exe -u-tiedoston_nimi_ja_polku

Jos tiedoston nimi sisältää välilyöntejä, kirjoita se lainausmerkkien sisään.

Esimerkki:

handle.exe -a -u "c:\users\ramesh\desktop\Manndate-form.pdf"
selvitä mikä prosessin lukittu tiedosto - sysinternals-kahva

(Tiedostonimen mainitseminen ilman polkua ei välttämättä toimi kaikissa tilanteissa. On suositeltavaa sisällyttää koko polku aina.)

Tulos näyttää prosessin nimen, prosessin tunnisteen, käyttäjänimen, lukitun (kohde)tiedoston nimen poluineen.

Sysinternals Handle: Komentoriviargumentit

käyttö: kahva [[-a [-l]] [-u] | [-c [-y]] | [-s]] [-p |] [nimi] [-nobanner]
-a Poista kaikki käsittelytiedot.
-l Näytä vain sivutiedostojen tukemat osion kahvat.
-c Sulkee määritetyn kahvan (tulkitaan heksadesimaalilukuna).
Prosessi on määritettävä sen PID-tunnuksella. VAROITUS: Kahvojen sulkeminen voi aiheuttaa sovelluksen tai järjestelmän epävakautta.
-y Älä pyydä sulkemaan kahvan vahvistusta.
-s Jokaisen avatun kahvatyypin tulostusmäärä.
-u Näytä omistavan käyttäjänimi, kun haet kahvoja.
-s Prosessiin kuuluvat tyhjennyskahvat (osittainen nimi hyväksytty).
nimi Etsi kahvoja objekteille (katkelma hyväksytty).
-nobanneri Älä näytä käynnistysbanneria ja tekijänoikeusviestiä.

Mikään argumentti ei poista kaikkia tiedostoviittauksia.

Lisää Sysinternals Handle hiiren kakkospainikkeella olevaan valikkoon

Voit lisätä Sysinternals Handlen tiedostojen hiiren kakkospainikkeen valikkoon löytääksesi nopeasti tiedoston lukineen ohjelman. Voit lisätä sen kontekstivalikkoon seuraavasti:

  1. ladata Kahva Microsoft Sysinternalsin sivustolta.
  2. Kopioi tiedostot hand.exe & handle64.exe kansioon - esim. d:\työkalut
  3. Kopioi seuraavat koodirivit Muistioon ja tallenna tiedosto nimellä find_handle.vbs pysyvään paikkaan.
    'Suorittaa Sysinternals Handle.exe-apuohjelman tiedostonimi-argumentilla. '© Ramesh Srinivasan -- https://winhelponline.com/blog. Luomispäivämäärä: 29. maaliskuuta 2008. 'Päivitetty: 11.6.2019. Kaikille Windows-versioille, mukaan lukien Windows 10 Option Explicit. Himmeä objShell, WshShell, objFSO, sBaseKey, sFilename. Set objShell = CreateObject("Shell. Sovellus") Aseta WshShell = CreateObject("WScript. Kuori") Set objFSO = CreateObject("Komentosarja. FileSystemObject") Jos WScript. Argumentit. Count = 0 Sitten 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" Else If objFSO.FileExists (WScript. Argumentit (0)) = True Sitten sFilename = lcase (WScript. Argumentit (0)) objShell. ShellExecute "cmd.exe", "/k d:\tools\handle.exe -a -u " & _ & sTiedostonimi &, "", "runas", 1 End If. Loppu Jos

    merkintä: Sysinternals Handle.exe-polku on kovakoodattu nimellä d:\tools\handle.exe yllä olevassa skriptissä. Jos ohjelma sijaitsee eri polulla, muokkaa skriptin polkua vastaavasti. 64-bittisessä Windowsissa voit käyttää jompaa kumpaa hand.exe tai handle64.exe

  4. Tuplaklikkaus find_handle.vbs lisätäksesi kontekstivalikon merkinnän rekisteriin. Sinun on tehtävä tämä vain kerran. Mutta jos siirrät komentosarjan toiseen kansioon, sinun on kaksoisnapsautettava sitä uudelleen päivittääksesi polun rekisterissä.
  5. näet Etsi Kahva vaihtoehto, kun napsautat tiedostoa hiiren kakkospainikkeella. Napsauttamalla sitä käynnistää komentosarjan, joka puolestaan ​​suorittaa hand.exe-tiedoston tiedostonimen argumentilla löytääkseen prosessin, jossa tiedosto on lukittu.selvitä mikä prosessin lukittu tiedosto - sysinternals-kahva

Poistaaksesi Etsi Kahva kontekstivalikon merkintä, käynnistä Rekisterieditori (regedit.exe) ja poista seuraava avain:

HKEY_CURRENT_USER\Software\Classes\*\shell\FindHandle

4. OpenFiles.exe – sisäänrakennettu konsolityökalu

Toinen käyttämämme sisäänrakennettu työkalu on Openfiles.exe, konsolityökalu, joka ei ole uusi Windowsille. Se esiteltiin alun perin vuonna 2000 osana Windows Resource Kit 2000/2003 -työkaluja. Tämä apuohjelma sisällytettiin sitten oletuksena Windows Vistaan ​​ja uudempiin (mukaan lukien Windows 10). Openfiles näyttää parhaillaan avoinna olevat tiedostot paikallisista tai jaetuista kansioista sekä Handle ID: n ja Process-suoritettavan tiedoston nimen. Tämän työkalun avulla voit myös katkaista yhden tai useamman tiedoston, joka avataan etäyhteydellä jaetusta kansiosta.

Ota "Maintain Objects List" globaali lippu käyttöön ensimmäistä kertaa

Ensinnäkin, jotta voit ottaa paikallisten tiedostokahvojen seurannan käyttöön, sinun on otettava käyttöön "ylläpidä objektiluettelo" -lippu suorittamalla seuraava komento järjestelmänvalvojan komentokehotteesta.

openfiles /local päällä

Näet seuraavan viestin:

INFO: Järjestelmän yleinen lippu "ylläpidä objektiluetteloa" on tällä hetkellä käytössä.

Sinun on suoritettava tämä komento vain ensimmäistä kertaa. Käynnistä sitten Windows uudelleen, jotta muutos tulee voimaan.

Tarkastele avoimia tiedostoja ja vastaavia prosessinimiä

Kun olet käynnistänyt Windowsin uudelleen, osoitteesta admin komentokehote ikkuna, kirjoita:

avoimet tiedostot

Tässä luetellaan tiedoston/kahvan tunnus, prosessin nimi ja luettelo tiedostoista, jotka on avattu paikallisesti tai avattu etänä paikallisten jakopisteiden kautta, taulukkomuodossa.

Jos haluat tarkastella tulostetta luettelo- tai CSV-muodossa, käytä /query-parametria.

openfiles /query /FO LIST. openfiles /kysely /FO CSV

Kopioi tulos leikepöydälle ohjaamalla tuloste Clip.exe-tiedostoon alla kuvatulla tavalla. Liitä sitten tulos Notepadiin tai mihin tahansa muuhun valitsemaasi editoriin.

openfiles |leike
Selvitä, mikä prosessi on lukinnut tiedoston
avoimet tiedostot /kysely /FO LIST |leike. openfiles /kysely /FO CSV |leike
Selvitä, mikä prosessi on lukinnut tiedoston

Lisätietoja komentokehotetulosteen kopioimisesta leikepöydälle tai tulosteen tallentamisesta tiedostoon on artikkelissa Kuinka kopioida komentokehoteteksti leikepöydälle tai tallentaa tiedostoon?

Voit selvittää, onko jokin tietty tiedosto jonkin ohjelman käytössä (ja tietää mikä ohjelma), käyttämällä seuraavaa komentoriviä.

avoimet tiedostot | findstr /i 

Esimerkki:

avoimet tiedostot | findstr /i eiffel

Yllä oleva komento listaa kaikki avoimet tiedostot, jotka sisältävät sanan "eiffel" tiedoston nimessä. Tässä esimerkissä Word 2016:ssa on tällä hetkellä lukittu tiedosto "The Eiffel Tower.docx" (ID 4576).

Selvitä, mikä prosessi on lukinnut tiedoston

Ja "Tiedosto käytössä" -valintaikkuna kertoo minulle saman asian.

Selvitä, mikä prosessi on lukinnut tiedoston

Katkaise etäyhteyden jaetun kansion tiedostot.

Voit katkaista jaetusta kansiosta avattujen tiedostojen yhteyden, jotta voit poistaa, nimetä tiedoston uudelleen tai muokata sisältöä, käyttämällä /disconnect parametri katkaistaksesi yhteydet kyseiseen tiedostoon. Tässä ovat komentorivivaihtoehdot.

OPENFILES /Katkaise yhteys [/S-järjestelmä [/U-käyttäjänimi [/P [salasana]]]] {[/ID id] [/A accessedby] [/O openmode]} [/OP openfile] Kuvaus: Antaa järjestelmänvalvojan katkaista yhteyden tiedostoihin ja kansioihin, jotka on avattu etäyhteyden kautta jaetun kansion kautta kansio. Parametriluettelo: /S-järjestelmä Määrittää etäjärjestelmän, johon muodostetaan yhteys. /U [verkkotunnus\]käyttäjä Määrittää käyttäjäkontekstin, jossa komennon tulee suorittaa. /P [salasana] Määrittää salasanan annetulle käyttäjäkonteksille. /ID-tunnus Määrittää auki olevien tiedostojen yhteyden katkaisemisen tiedostotunnuksen perusteella. Jokerimerkkiä "*" voidaan käyttää. /A accessedby Määrittää kaikkien avointen tiedostojen yhteyden katkaisemisen "accessedby"-arvon perusteella. Jokerimerkkiä "*" voidaan käyttää. /O openmode Määrittää katkaisemaan kaikki avoimet tiedostot "openmode"-arvon perusteella. Kelvolliset arvot ovat Read, Write tai Read/Write. Jokerimerkkiä "*" voidaan käyttää. /OP openfile Määrittää katkaisemaan kaikki avoimet tiedostoyhteydet, jotka on luotu tietyllä "avoimen tiedoston" nimellä. Jokerimerkkiä "*" voidaan käyttää. /? Näyttää tämän ohjeviestin. Esimerkkejä: OPENFILES /Katkaise yhteys /? OPENFILES /Katkaise yhteys /ID 1 OPENFILES /Katkaise yhteys /Käyttäjänimi OPENFILES /Katkaise yhteys /O Lue/kirjoita OPENFILES /Katkaise yhteys /OP "c:\My Documents\somedoc.doc" /ID 234 OPENFILES /Katkaise yhteys /S-järjestelmä /U-käyttäjätunnus /ID 5 OPENFILES /Katkaise yhteys /S-järjestelmä /U-käyttäjätunnus /P-salasana /ID*

Openfiles.exe tekee täydellisesti listaamalla kaikki avoimet tiedostot prosessien nimien kanssa, mutta se ei voi väkisin tappaa prosesseja. Tämä erinomainen (mutta huomiotta jätetty) sisäänrakennettu konsolityökalu voi kuitenkin olla hyödyllinen, kun haluat löytää nopeasti prosessin nimen, joka käyttää tiedoston tai katkaistaksesi tiedoston, jota verkkokäyttäjä käyttää jaetun kansion kautta – ilman riippuvuutta kolmannesta osapuolesta ratkaisu.

5. OpenedFilesView

OpenedFilesView Nirsoft näyttää luettelon kaikista järjestelmässäsi avatuista tiedostoista. Jokaisesta avatusta tiedostosta näytetään lisätietoja: kahvan arvo, luku-/kirjoitus-/poistooikeus, tiedoston sijainti, prosessi joka avasi tiedoston, ja paljon muuta… Vaihtoehtoisesti voit myös sulkea yhden tai useamman avatun tiedoston tai sulkea prosessin, joka avasi nämä tiedostot.

Selvitä, mikä prosessi on lukinnut tiedoston

Voit sulkea valittujen tiedostojen prosessit tai sulkea valitut tiedostokahvat. Kahvan numero esitetään heksadesimaalilukuina, kun taas openfiles.exe-konsolityökalu näyttää sen normaalimuodossa. Tämän työkalun avulla voit myös lisätä kontekstivalikkovaihtoehdon löytääksesi nopeasti tiedostoa parhaillaan käyttävän prosessin hiiren kakkospainikkeen valikon kautta. Kontekstivalikon vaihtoehto / komentorivin tuki on mielestäni yksi OpenedFilesView: n tarjoamista hyödyllisimmistä ominaisuuksista.


Yksi pieni pyyntö: Jos pidit tästä viestistä, jaa tämä?

Yksi "pieni" jakaminen sinulta auttaisi todella paljon tämän blogin kasvussa. Muutamia hienoja ehdotuksia:
  • Kiinnittää sen!
  • Jaa se suosikkiblogiisi + Facebookiin, Redditiin
  • Twiittaa se!
Joten kiitos paljon tuestanne, lukijani. Se ei vie aikaasi enempää kuin 10 sekuntia. Jaa-painikkeet ovat aivan alla. :)

Ezoicilmoita tästä ilmoituksesta