Kako prepoznati proces koji je zaključao datoteku u sustavu Windows

click fraud protection

Kada pokušate izbrisati datoteku ili mapu koju koristi proces, pojavljuje se dijaloški okvir Datoteka u upotrebi koji prikazuje naziv programa koji je zaključao datoteku.

Međutim, postoje slučajevi u kojima dijaloški okvir "Datoteka u upotrebi" ne prikazuje naziv procesa koji ima zaključavanje datoteke koju pokušavate izbrisati. U nekim slučajevima, dijaloški okvir će pokazati "radnju se ne može dovršiti jer je datoteka otvorena u drugi proces“.

Pronađite koji je proces zaključao datoteku

Za istraživanje procesa i zaključanih datoteka, Windows Sysinternals Process Explorer vjerojatno je prva opcija koja većini korisnika padne na pamet. Međutim, postoje dvije ugrađena rješenja za prikaz trenutnog popisa otvorenih datoteka zajedno s odgovarajućim nazivima procesa.

Pronađite koji je proces zaključao datoteku pomoću:

  1. Monitor resursa (resmon.exe)
  2. Process Explorer iz Microsoft Sysinternals
  3. Ručka iz Microsoft Sysinternals
    • Pronađite ručku datoteke putem izbornika desnom tipkom miša
  4. Openfiles.exe ugrađeni alat za konzolu
    • Omogući praćenje lokalnih ručki datoteka
    • Pregledajte otvorene datoteke i odgovarajuće nazive procesa
    • Prekinite vezu otvorenih datoteka iz zajedničkih mapa
  5. OpenedFilesView s Nirsoft.net (treće strane)

1. Monitor resursa

Monitor resursa (resmon.exe) je ugrađeni alat koji ima mnogo korisnih značajki. Uz Resource Monitor možete pratiti trenutnu upotrebu mreže i interneta, pogledajte povezane ručke za zaključane datoteke, kao i upravljati procesima kao što biste koristili Upravitelj zadataka.

Da biste pronašli naziv procesa koji ima zaključanu datoteku, kliknite karticu CPU, upišite naziv datoteke ili njezin dio u tekstualni okvir Povezane ručke.

Pronađite koji je proces zaključao datoteku

Ranije smo pokrili Resource Monitor. Pogledajte ove članke:

  • Kako koristiti Monitor resursa za pronalaženje koji je proces zaključao datoteku?
  • Koji program koristi svu vašu internetsku širinu? Upotrijebite Resource Monitor da biste ga pronašli

2. Process Explorer

Process Explorer ne treba uvod. U Process Exploreru, sve što trebate učiniti je koristiti značajku Find i upisati naziv datoteke. Ovo pokazuje proces koji pristupa datoteci.

Pronađite koji je proces zaključao datoteku

Iz prikaza donjeg okna možete zatvoriti ručku datoteke ako je potrebno.

Morate pokrenuti Process Explorer kao administrator kako biste upravljali procesima koji se pokreću s povišenim vrijednostima. Da biste podigli Process Explorer, kliknite izbornik Datoteka → Prikaži pojedinosti za sve procese.

Pogledajte ove članke vezane za Process Explorer:

  • Kako izbrisati tvrdoglavu neizbrisivu datoteku ili mapu u sustavu Windows?
  • Pronađite koji program trenutno koristi vašu web kameru
  • Kako pronaći koji je program izazvao nepoznatu poruku o pogrešci?
  • Što znači nabrajanje objekata u spremniku nije uspjelo?

3. Rukovati iz sustava Windows Sysinternals

Drška je uslužni program tvrtke Microsoft Sysinternals koji prikazuje informacije o otvorenim ručkama za bilo koji proces u sustavu. Možete ga koristiti da vidite programe koji imaju otvorenu datoteku ili da vidite vrste objekata i imena svih ručki programa. Handle je poput verzije naredbenog retka Process Explorer.

Bilješka: Ručka v4.21 ima a mala bubica gdje uvijek izvještava "Nema odgovarajućih ručki pronađenih" ako je slovo pogona veliko. Nadamo se da će Microsoft to popraviti u sljedećem ažuriranju.

Od an admin naredbeni redak prozoru, koristite sintaksu naredbenog retka da pronađete proces koji otvara datoteku:

handle.exe -a -u ime_datoteke s_putom

Ako naziv datoteke sadrži razmake, stavite ga u dvostruke navodnike.

Primjer:

handle.exe -a -u "c:\users\ramesh\desktop\Mandate-form.pdf"
pronaći koji proces zaključan datoteku - Sysinternals rukuju

(Spominjanje naziva datoteke bez puta ne mora nužno funkcionirati u svakoj situaciji. Preporučljivo je uvijek uključiti cijeli put.)

Izlaz prikazuje naziv procesa, identifikator procesa, korisničko ime, naziv zaključane (ciljne) datoteke s putanjom.

Sysinternals Handle: argumenti naredbenog retka

upotreba: ručka [[-a [-l]] [-u] | [-c [-y]] | [-s]] [-p |] [ime] [-nobanner]
-a Izbacite sve informacije o ručki.
-l Samo prikažite ručke odjeljaka s podrškom za datoteku stranice.
-c Zatvara navedenu ručku (tumačeno kao heksadecimalni broj).
Proces morate odrediti njegovim PID-om.UPOZORENJE: Zatvaranje ručki može uzrokovati nestabilnost aplikacije ili sustava.
-y Nemojte tražiti potvrdu zatvaranja ručke.
-s Broj ispisa svake vrste otvorene ručke.
-u Prikažite korisničko ime vlasnika kada tražite ručke.
-str Ručke za ispis koji pripadaju procesu (djelomični naziv prihvaćen).
Ime Potražite ručke za objekte s (ulomak prihvaćen).
-nobanner Nemojte prikazivati ​​natpis za pokretanje i poruku o autorskim pravima.

Nijedan argument neće izbaciti sve reference datoteka.

Dodajte Sysinternals Handle izborniku desnom tipkom miša

Možete dodati Sysinternals Handle izborniku desnom tipkom miša za datoteke kako biste brzo pronašli program koji je zaključao datoteku. Da biste ga dodali u kontekstni izbornik, slijedite ove korake:

  1. preuzimanje datoteka Drška sa stranice Microsoft Sysinternals.
  2. Kopirajte datoteke handle.exe & handle64.exe u mapu – npr. d:\alati
  3. Kopirajte sljedeće retke koda u Notepad i spremite datoteku kao find_handle.vbs na stalno mjesto.
    'Pokreće uslužni program Sysinternals Handle.exe s argumentom naziva datoteke. '© Ramesh Srinivasan -- https://winhelponline.com/blog. 'Datum kreiranja: 29. ožujka 2008. 'Datum ažuriranja: 11. lipnja 2019. 'Za sve verzije sustava Windows, uključujući Windows 10 Option Explicit. Dim objShell, WshShell, objFSO, sBaseKey, sFilename. Postavite objShell = CreateObject("Shell. Primjena") Postavite WshShell = CreateObject("WScript. Ljuska") Postavite objFSO = CreateObject("Skriptiranje. FileSystemObject") Ako WScript. Argumenti. Count = 0 Zatim 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" Inače Ako objFSO.FileExists (WScript. Argumenti (0)) = True Zatim sFilename = lcase (WScript. Argumenti (0)) objShell. ShellExecute "cmd.exe", "/k d:\tools\handle.exe -a -u " & _ & sFilename &, "", "runas", 1 End If. Završi ako

    Bilješka: Sysinternals Handle.exe staza je tvrdo kodirana kao d:\tools\handle.exe u gornjoj skripti. Ako se program nalazi na drugom putu, u skladu s tim izmijenite stazu u skripti. Za 64-bitni Windows možete koristiti bilo koji handle.exe ili handle64.exe

  4. Dvostruki klik find_handle.vbs za dodavanje unosa kontekstnog izbornika u registar. To ćete morati učiniti samo jednom. Ali, ako premjestite skriptu u drugu mapu, morat ćete je ponovno dvaput kliknuti da biste ažurirali put u registru.
  5. Vidjet ćete Pronađite ručku opciju kada desnom tipkom miša kliknete datoteku. Klikom na nju pokrenut će se skripta koja zauzvrat pokreće handle.exe s argumentom filename da pronađe proces koji ima zaključanu datoteku.pronaći koji proces zaključan datoteku - Sysinternals rukuju

Za uklanjanje Pronađite ručku unos kontekstnog izbornika, pokrenite uređivač registra (regedit.exe) i izbrišite sljedeći ključ:

HKEY_CURRENT_USER\Software\Classes\*\shell\FindHandle

4. OpenFiles.exe — ugrađeni alat za konzolu

Još jedan ugrađeni alat koji ćemo koristiti je Openfiles.exe, alat za konzolu koji nije nov za Windows. Izvorno je predstavljen 2000. godine kao dio alata Windows Resource Kit 2000/2003. Ovaj je uslužni program tada bio uključen prema zadanim postavkama u sustavu Windows Vista i novijim (uključujući Windows 10). Openfiles prikazuje popis trenutno otvorenih datoteka iz lokalnih ili zajedničkih mapa, zajedno s ID-om ručke i imenom izvršne datoteke procesa. Ovaj alat također vam omogućuje da isključite jednu ili više datoteka koje se otvaraju na daljinu iz dijeljene mape.

Omogućite po prvi put globalnu zastavu "Održavanje popisa objekata".

Prvo, da biste omogućili praćenje lokalnih ručki datoteka, morate uključiti oznaku "održavanje popisa objekata" pokretanjem sljedeće naredbe iz admin Command Prompt-a.

openfiles /lokalno uključeno

Vidjet ćete sljedeću poruku:

INFORMACIJE: Globalna zastavica sustava 'održavanje popisa objekata' trenutno je omogućena.

Morat ćete pokrenuti ovu naredbu samo prvi put. Zatim ponovno pokrenite Windows kako bi promjena stupila na snagu.

Pregledajte otvorene datoteke i odgovarajuće nazive procesa

Nakon ponovnog pokretanja sustava Windows, iz admin naredbeni redak prozor, upišite:

otvorene datoteke

Ovo navodi ID datoteke/ručnika, naziv procesa i popis datoteka otvorenih lokalno ili otvorenih udaljeno putem lokalnih točaka dijeljenja, u obliku tablice.

Za prikaz izlaza u formatima popisa ili CSV, koristite parametar /query.

openfiles /upit /FO LIST. openfiles /upit /FO CSV

Za kopiranje izlaza u međuspremnik, usmjerite izlaz u Clip.exe kao u nastavku. Zatim zalijepite izlaz u Notepad ili bilo koji drugi uređivač po vašem izboru.

otvorene datoteke |isječak
Pronađite koji je proces zaključao datoteku
openfiles /query /FO LIST |isječak. openfiles /query /FO CSV |isječak
Pronađite koji je proces zaključao datoteku

Za više informacija o kopiranju izlaza naredbenog retka u međuspremnik ili spremanju izlaza u datoteku, pogledajte članak Kako kopirati izlazni tekst naredbenog retka u međuspremnik ili spremiti u datoteku?

Da biste saznali koristi li se određena datoteka od strane programa (i da biste znali koji program), možete koristiti sljedeću naredbenu liniju.

otvorene datoteke | findstr /i 

Primjer:

otvorene datoteke | findstr /i eiffel

Gornja naredba navodi sve otvorene datoteke koje sadrže riječ "eiffel" u nazivu datoteke. U ovom primjeru Word 2016 trenutno ima zaključavanje datoteke "Eiffelov toranj.docx" (ID 4576).

Pronađite koji je proces zaključao datoteku

I dijaloški okvir "Datoteka u upotrebi" govori mi istu stvar.

Pronađite koji je proces zaključao datoteku

Prekinite vezu otvorenih datoteka iz dijeljene mape.

Da biste prekinuli vezu otvorenih datoteka iz dijeljene mape kako biste mogli izbrisati, preimenovati datoteku ili izmijeniti sadržaj, koristite /disconnect parametar za prekid veze s tom datotekom. Ovdje su opcije naredbenog retka.

OPENFILES /Prekini vezu [/S sustav [/U korisničko ime [/P [lozinka]]]] {[/ID id] [/A pristupio] [/O otvoreni način]} [/OP openfile] Opis: Omogućuje administratoru da prekine vezu s datotekama i mapama koje su otvorene na daljinu putem zajedničkog mapu. Popis parametara: /S sustav Određuje udaljeni sustav na koji se treba povezati. /U [domain\]user Određuje korisnički kontekst pod kojim se naredba treba izvršiti. /P [password] Određuje lozinku za dani korisnički kontekst. /ID id Određuje prekid veze otvorenih datoteka prema ID-u datoteke. Može se koristiti zamjenski znak "*". /A accessedby Određuje prekid veze svih otvorenih datoteka pomoću vrijednosti "accessedby". Može se koristiti zamjenski znak "*". /O openmode Određuje prekid veze svih otvorenih datoteka pomoću vrijednosti "openmode". Važeće vrijednosti su Read, Write ili Read/Write. Može se koristiti zamjenski znak "*". /OP openfile Određuje prekid veze svih otvorenih datotečnih veza stvorenih određenim imenom "otvorene datoteke". Može se koristiti zamjenski znak "*". /? Prikazuje ovu poruku pomoći. Primjeri: OPENFILES /Disconnect /? OPENFILES /Disconnect /ID 1 OPENFILES /Disconnect /A username OPENFILES /Disconnect /O Read/Write OPENFILES /Disconnect /OP "c:\My Documents\somedoc.doc" /ID 234 OPENFILES /Disconnect /S system /U korisničko ime /ID 5 OPENFILES /Disconnect /S system /U korisničko ime /P lozinka /ISKAZNICA *

Openfiles.exe savršeno obavlja posao navođenja svih otvorenih datoteka zajedno s nazivima procesa, ali ne može nasilno ubiti procese. Međutim, ovaj izvrstan (ali zanemaren) ugrađeni alat za konzolu može vam dobro doći kada želite brzo pronaći naziv procesa koji koristi datoteku ili za prekid veze s datotekom kojoj mrežni korisnik pristupa putem dijeljene mape - bez ovisnosti o trećoj strani riješenje.

5. OpenedFilesView

OpenedFilesView od Nirsofta prikazuje popis svih otvorenih datoteka na vašem sustavu. Za svaku otvorenu datoteku prikazuju se dodatne informacije: vrijednost ručke, pristup za čitanje/pisanje/brisanje, položaj datoteke, proces koji je otvorio datoteku i više... Po želji, također možete zatvoriti jednu ili više otvorenih datoteka ili zatvoriti proces koji je otvorio ove datoteke.

Pronađite koji je proces zaključao datoteku

Možete zatvoriti procese odabranih datoteka ili zatvoriti ručke odabranih datoteka. Broj ručke je predstavljen u heksadecimalnim vrijednostima dok ga openfiles.exe konzolni alat prikazuje u normalnom formatu. Ovaj alat vam također omogućuje dodavanje opcije kontekstnog izbornika za brzo pronalaženje procesa koji trenutno koristi datoteku, putem izbornika desnom tipkom miša. Opcija kontekstnog izbornika / podrška naredbenog retka, smatram, jedna je od najkorisnijih značajki koje nudi OpenedFilesView.


Jedna mala molba: Ako vam se svidio ovaj post, podijelite ovo?

Jedan tvoj "sitni" share bi ozbiljno pomogao u razvoju ovog bloga. Nekoliko sjajnih prijedloga:
  • Prikvačiti!
  • Podijelite ga na svom omiljenom blogu + Facebooku, Redditu
  • Tweetajte!
Zato ti puno hvala na podršci, moj čitatelju. Neće vam trebati više od 10 sekundi vremena. Gumbi za dijeljenje nalaze se odmah ispod. :)

ezoikprijavi ovaj oglas