Suraskite, kuris procesas užrakino failą be trečiųjų šalių įrankių

2019-05-05 13:01:39
Pagrindinis·Microsoft·Suraskite, kuris procesas užrakino failą be trečiųjų šalių įrankių

Kai bandote ištrinti failą ar aplanką, kurį naudoja procesas, pasirodys dialogo langas, kuriame rodomas programos, užrakinusios failą, pavadinimas.

Tačiau yra atvejų, kai dialogo lange „Naudojamas failas“ nerodomas proceso, kurio užraktas yra failas, kurį bandote ištrinti, pavadinimas. Kai kuriais atvejais dialogo lange pasirodys „Veiksmas negali būti baigtas, nes failas atidaromas kitu procesu “.

Tikrinti procesus ir užrakintus failus „Windows Sysinternals Process Explorer“ yra turbūt pirmoji galimybė, į kurią galvoja dauguma vartotojų. Tačiau yra du integruoti sprendimai, skirti dabartiniam atidarytų failų sąrašui parodyti kartu su atitinkamais proceso pavadinimais.

Raskite, kuris procesas užrakino failą naudodamas:

  1. Išteklių stebėjimo priemonė (resmon.exe)
  2. Proceso naršyklė iš „Microsoft Sysinternals“
  3. Rankena iš „Microsoft Sysinternals“
    • Suraskite failo tvarkyklę per dešiniojo pelės mygtuko paspaudimo meniu
  4. „Openfiles.exe“ įmontuotas konsolės įrankis
    • Įgalinti vietinių failų rankenų stebėjimą
    • Peržiūrėkite atidarytus failus ir atitinkamus proceso pavadinimus
    • Atjunkite failus, atidarytus iš bendrų aplankų
  5. „OpenedFilesView“ iš „Nirsoft.net“ (trečioji šalis)

1. Išteklių monitorius

„Resource Monitor“ (resmon.exe) yra įmontuotas įrankis, turintis daug naudingų funkcijų. Naudodamiesi „Resource Monitor“, galite sekti dabartinį tinklo ir interneto naudojimą, peržiūrėti susijusias užrakintų failų rankenas ir tvarkyti procesus taip, kaip naudodamiesi užduočių tvarkykle.

Norėdami rasti proceso pavadinimą, kuriame užfiksuotas failas, spustelėkite skirtuką CPU, įveskite failo pavadinimą arba jo dalį teksto laukelyje Susietos rankenos.

Mes apėmėme „Resource Monitor“ anksčiau. Peržiūrėkite šiuos straipsnius:

  • Kaip naudoti išteklių stebėtoją norint rasti, kuris procesas užrakino failą?
  • Kuri programa naudoja visą jūsų interneto pralaidumą? Norėdami jį rasti, naudokite „Resource Monitor“

2. Proceso naršyklė

„Process Explorer“ nereikia įvesti. „Process Explorer“ viskas, ką jums reikia padaryti, yra naudoti funkciją Rasti ir įveskite failo pavadinimą. Tai rodo procesą, kurio metu pasiekiama byla.

Apatiniame lango rodinyje prireikus galite uždaryti failo tvarkyklę.

Jei norite valdyti aukštesnio lygio procesus, turite paleisti „Process Explorer“ kaip administratorių. Norėdami pakelti „Process Explorer“, spustelėkite meniu Failas → Rodyti išsamią informaciją apie visus procesus .

Peržiūrėkite šiuos su „Process Explorer“ susijusius straipsnius:

  • Kaip ištrinti užsispyrusį nepanaikinamą failą ar aplanką iš „Windows“?
  • Sužinokite, kuri programa šiuo metu naudoja jūsų internetinę kamerą
  • Kaip rasti, kuri programa sukėlė nežinomą klaidos pranešimą?
  • Ką reiškia nepavyko išvardyti objektų talpykloje?

3. Rankena iš „Windows Sysinternals“

Rankena yra „Microsoft Sysinternals“ įrankis, pateikiantis informaciją apie bet kokio sistemos proceso atidarytas rankenas. Galite naudoti ją norėdami pamatyti programas, kuriose atidaromas failas, arba pamatyti visų programos rankenų objektų tipus ir pavadinimus. Rankena yra tarsi komandų eilutės „Process Explorer“ versija.

Pastaba: „ Rankena v4.21“ turi nedidelę klaidą, kurioje visada pranešama „Nerasta atitinkančių rankenų“, jei disko raidė yra didžiosiomis raidėmis. Tikiuosi, kad „Microsoft“ pataisys tai kitame naujinime.

Administratoriaus komandos eilutės lange naudokite komandų eilutės sintaksę norėdami rasti procesą, kurio metu failas atidaromas:

 rankena.exe -a -u failo_pavadinimas_path 

Jei failo pavadinime yra tarpų, pridėkite jį su kabutėmis.

Pavyzdys:

 handle.exe -a -u "c: \ users \ ramesh \ desktop \ Mandate-form.pdf" 

(Failo vardo paminėjimas be kelio nebūtinai gali veikti bet kurioje situacijoje. Patartina visada nurodyti visą kelią.)

Išvestis rodo proceso pavadinimą, proceso identifikatorių, vartotojo vardą, užrakinto (tikslinio) failo pavadinimą su keliu.

„Sysinternals“ rankena: komandos eilutės argumentai

 vartojimas: rankena [[-a [-l]] [-u] | [-c [-y]] | [-s]] [-p |] [vardas] [-banneris] 
-aIšmeskite visą rankenos informaciją.
-lTiesiog parodykite skyrių rankenas, kurių pagrindą sudaro puslapio failai.
-cUždaroma nurodyta rankena (aiškinama kaip šešioliktainis skaičius).
Turite nurodyti procesą pagal jo PID. ĮSPĖJIMAS: Uždarydami rankenas galite sukelti programos ar sistemos nestabilumą.
-yNeprašykite patvirtinti uždarymo rankenos.
-aiAtspausdintas kiekvieno tipo rankenų spausdinimo skaičius.
-uParodykite savo vartotojo vardą, kai ieškote rankenų.
-pProcesui priklausančios rankenos (priimamas dalinis pavadinimas).
vardasIeškokite rankenų objektams su (fragmentas priimtas).
-nobannerisNerodyti paleidimo juostos ir autorių teisių pranešimo.

Jokie argumentai nenukels visų failų nuorodų.

Dešiniuoju pelės mygtuku spustelėkite meniu „Sysinternals rankena“

Jei norite greitai rasti failą užrakinusią programą, dešiniuoju pelės mygtuko paspaudimo meniu galite pridėti „Sysinternals“ rankenėlę. Norėdami įtraukti jį į kontekstinį meniu, atlikite šiuos veiksmus:

  1. Atsisiųskite rankeną iš „Microsoft Sysinternals“ svetainės.
  2. Nukopijuokite failus rankena.exe ir rankena64.exe į aplanką, pvz., d:\tools
  3. Nukopijuokite šias kodo eilutes į find_handle.vbs ir išsaugokite failą kaip find_handle.vbs nuolatinėje vietoje.
     'Paleidžia „Sysinternals Handle.exe“ įrankį su failo vardo argumentu. '© Ramesh Srinivasan - https://winhelponline.com/blog' Sukūrimo data: 2008 m. Kovo 29 d. 'Atnaujinta: 2019 m. Birželio 11 d.' Visoms „Windows“ versijoms, įskaitant „Windows 10“, parinktis „Dim objShell“, „WshShell“, „objFSO“ „sBaseKey“, „sFilename Set“ objShell = „CreateObject“ („Shell.Application“) „WshShell“ = „CreateObject“ („WScript.Shell“) „objFSO =„ CreateObject “(„ ​​Scripting.FileSystemObject “). Programinė įranga \ Klasės \ * \ apvalkalas \ "WshShell.RegWrite sBaseKey &" FindHandle \ ", " Rasti rankeną ", " REG_SZ "WshShell.RegWrite sBaseKey &" FindHandle \ komanda \ ", " wscript.exe "ir" "" " _ WScript.ScriptFullName & "" "" "" "" "" "" "ir"% 1 "&" "" ", " REG_SZ "Kita, jei objFSO.FileExists (WScript.Arguments (0)) = True Tada sFilename = lcase (Wcript.Arguments (0)) objShell.ShellExecute "cmd.exe", "/kd:\tools\handle.exe -a -u" & _ "" "& sFilename &" "" ", " ", " runos “, 1 End If End If 

    Pastaba: aukščiau esančiame scenarijuje „Sysinternals Handle.exe“ kodas yra sunkiai koduojamas kaip d:\tools\handle.exe . Jei programa yra kitame kelyje, atitinkamai pakeiskite kelią scenarijuje. Jei naudojate 64 bitų „Windows“, galite naudoti „ tvarkyklę.exe“ arba „ tvark64.exe“

  4. Dukart spustelėkite find_handle.vbs norite įregistruoti kontekstinio meniu įrašą registre. Tai turėsite padaryti tik vieną kartą. Jei perkelsite scenarijų į kitą aplanką, turėsite dar kartą jį spustelėti, kad atnaujintumėte kelią registre.
  5. Pamatę parinktį Rasti rankeną, dešiniuoju pelės mygtuku spustelėkite failą. Spustelėjus jį, paleidžiamas scenarijus, kuris savo ruožtu paleidžia failą failų pavadinimo argumentą handle.exe ir suras procesą, kuriame failas užrakintas.

Norėdami pašalinti kontekstinio meniu „ Find Handle“ įrašą, paleiskite registro rengyklę ( regedit.exe ) ir ištrinkite šį raktą:

 „HKEY_CURRENT_USER“ \ programinė įranga \ klasės \ * \ apvalkalas \ „rankiniu būdu“ 

4. „OpenFiles.exe“ - įmontuotas konsolės įrankis

Kitas įmontuotas įrankis, kurį naudosime, yra „Openfiles.exe“, konsolės įrankis, kuris sistemoje „Windows“ nėra naujas. Iš pradžių ji buvo įvesta 2000 m. Kaip „Windows Resource Kit 2000/2003“ įrankių dalis. Tuomet ši programa pagal numatytuosius nustatymus buvo įtraukta į „Windows Vista“ ir naujesnes versijas (įskaitant „Windows 10“). „Openfiles“ rodo šiuo metu atidarytų failų sąrašą iš vietinių ar bendrų aplankų kartu su rankenos ID ir proceso vykdomuoju pavadinimu. Šis įrankis taip pat leidžia atjungti vieną ar daugiau failų, atidaromų nuotoliniu būdu, iš bendro naudojimo aplanko.

Pirmą kartą įgalinkite visuotinę vėliavą „Prižiūrėti objektų sąrašą“

Pirmiausia, kad galėtumėte sekti vietines failų rankenas, turite įjungti vėliavą „prižiūrėti objektų sąrašą“, paleisdami šią komandą iš komandos „Administrator Command Prompt“.

 atidaryti failai / vietiniai įjungti 

Pamatysite šį pranešimą:

INFO: Šiuo metu įjungta visuotinė sistemos vėliava „palaikyti objektų sąrašą“.

Turėsite paleisti šią komandą tik pirmą kartą. Tada paleiskite „Windows“ iš naujo, kad pakeitimas įsigaliotų.

Peržiūrėkite atidarytus failus ir atitinkamus proceso pavadinimus

Paleidę „Windows“ iš administratoriaus komandų eilutės lango įveskite:

 atviri failai 

Čia pateikiamas failo / rankenos ID, proceso pavadinimas ir failų, atidarytų vietoje arba nuotoliniu būdu per vietinius bendrinimo taškus, sąrašas lentelės forma.

Norėdami peržiūrėti išvestį sąrašo arba CSV formatu, naudokite parametrą / užklausa.

 atvirieji failai / užklausa / FO SĄRAŠAS atvirieji failai / užklausa / FO CSV 

Norėdami nukopijuoti išvestį į mainų sritį, pervadinkite išvestį į „Clip.exe“, kaip nurodyta toliau. Tada įklijuokite išvestį į užrašų knygelę arba bet kurį kitą jūsų pasirinktą redaktorių.

 „openfiles“ | klipas 

 atviri failai / užklausa / FO SĄRAŠAS | klipas atviri failai / užklausa / FO CSV | klipas 

Norėdami gauti daugiau informacijos apie komandų eilutės išvesties kopijavimą į mainų sritį arba išsaugoti išvestį į failą, skaitykite straipsnyje Kaip nukopijuoti komandų eilutės išvesties tekstą į mainų sritį arba išsaugoti faile?

Norėdami sužinoti, ar tam tikrą failą naudoja programa (ir žinoti, kuri programa), galite naudoti šią komandinę eilutę.

 atvirieji failai | findstr / i 

Pavyzdys:

 atvirieji failai | findstr / i eifelis 

Aukščiau pateikta komanda išvardija visus atidarytus failus, kurių failo pavadinime yra žodis „eiffel“. Šiame pavyzdyje „Word 2016“ šiuo metu užrakinamas failas „The Eiffel Tower.docx“ (ID 4576).

Dialogas „Naudojamas failas“ sako tą patį.

Atjunkite nuotoliniu būdu atidaromus failus iš bendro naudojimo aplanko.

Norėdami atjungti failus, atidarytus iš bendro naudojimo aplanko, kad galėtumėte ištrinti, pervardyti failą ar pakeisti turinį, naudokite /disconnect parametrą, norėdami nutraukti šio failo jungtis. Čia yra komandų eilutės parinktys.

 OPENFILES / Atjunkite [/ S sistemą [/ U vartotojo vardas [/ P [slaptažodis]]]] {[/ ID id] [/ A accessedby] [/ O openmode]} [/ OP openfile] Aprašymas: Įgalina administratorių atjungti failus ir aplankai, kurie buvo atidaryti nuotoliniu būdu per bendrinamą aplanką. Parametrų sąrašas: / S sistema Nurodo nuotolinę sistemą, prie kurios reikia prisijungti. / U [domain \] user Nurodo vartotojo kontekstą, kuriame komanda turėtų vykdyti. / P [slaptažodis] Nurodo slaptažodį konkrečiame vartotojo kontekste. / ID id Nurodo atjungti atidarytus failus pagal failo ID. Galima naudoti „*“ pakaitos ženklą. / A accessedby Nurodo atjungti visus atidarytus failus pagal reikšmę „accessedby“. Galima naudoti „*“ pakaitos ženklą. / O openmode Nurodo atjungti visus atidarytus failus pagal reikšmę „openmode“. Galioja vertės: skaityti, rašyti arba skaityti / rašyti. Galima naudoti „*“ pakaitos ženklą. / OP openfile Nurodo atjungti visus atidarytus failų ryšius, sukurtus konkrečiu pavadinimu „open file“. Galima naudoti „*“ pakaitos ženklą. /? Parodo šį pagalbos pranešimą. Pavyzdžiai: ATIDARYTI / Atjungti /? ATIDARYTI / Atjungti / ID 1 ATIDARYTI / Atjungti / Vartotojo vardas OPENFILAI / Atjungti / O skaityti / rašyti OPENFILES / Atjungti / OP "c: \ My Documents \ somedoc.doc" / ID 234 OPENFILES / Atjungti / S sistemą / U vartotojo vardą / ID 5 ATIDARYMAI / Atjunkite / S sistemą / U vartotojo vardą / P slaptažodį / ID * 

„Openfiles.exe“ puikiai atlieka sąrašą visų atidarytų failų kartu su procesų pavadinimais, tačiau negali priverstinai sunaikinti procesų. Tačiau šis puikus (tačiau nepastebėtas) konsolės įrankis gali būti naudingas, kai norite greitai rasti proceso pavadinimą, kuriame naudojamas failas, arba atjungti failą, kurį tinklo vartotojas pasiekia per bendrinamą aplanką - nepriklausomai nuo to dėl trečiosios šalies sprendimo.

5. „OpenedFilesView“

„OpenSFilesView“ iš „Nirsoft“ rodo visų atidarytų failų jūsų sistemoje sąrašą. Apie kiekvieną atidarytą failą rodoma papildoma informacija: tvarkyklės reikšmė, skaitymo / rašymo / naikinimo prieiga, failo padėtis, procesas, kuris atidarė failą ir dar daugiau ... Pasirinktinai taip pat galite uždaryti vieną ar kelis atidarytus failus arba uždaryti procesą, kuris atidarė šiuos failus.

Galite uždaryti pasirinktų failų procesus arba uždaryti pasirinktas failų rankenas. Rankenos numeris pateiktas šešioliktainėmis reikšmėmis, o konsolės įrankis openfiles.exe rodo jį įprastu formatu. Šis įrankis taip pat leidžia pridėti kontekstinio meniu parinktį, kad per dešiniuoju pelės mygtuku spustelėkite meniu, kad greitai rastumėte procesą, kuriame šiuo metu naudojamas failas. Kontekstinio meniu parinktis / komandinės eilutės palaikymas, manau, yra viena iš naudingiausių „OpenedFilesView“ siūlomų funkcijų.

Redaktoriaus Pasirinkimas