როგორ ამოვიცნოთ პროცესი, რომელმაც დაბლოკა ფაილი Windows-ში

როდესაც თქვენ ცდილობთ წაშალოთ ფაილი ან საქაღალდე, რომელიც გამოიყენება პროცესის მიერ, გამოჩნდება File In Use დიალოგი, რომელიც აჩვენებს პროგრამის სახელს, რომელმაც დაბლოკა ფაილი.

თუმცა, არის შემთხვევები, როდესაც დიალოგში „გამოყენებული ფაილი“ არ აჩვენებს პროცესის სახელს, რომელსაც აქვს ჩაკეტილი ფაილი, რომლის წაშლასაც ცდილობთ. ზოგიერთ შემთხვევაში, დიალოგში გამოჩნდება „მოქმედება ვერ სრულდება, რადგან ფაილი გახსნილია სხვა პროცესი“.

იპოვეთ რომელმა პროცესმა დაბლოკა ფაილი

პროცესებისა და ჩაკეტილი ფაილების გამოსაკვლევად, Windows Sysinternals Process Explorer ალბათ პირველი ვარიანტია, რომელიც მომხმარებელთა უმეტესობას ახსენდება. თუმცა არის ორი ჩაშენებული გადაწყვეტილებები მიმდინარე ღია ფაილების სიის ჩვენება პროცესების შესაბამის სახელებთან ერთად.

იპოვეთ რომელმა პროცესმა დაბლოკა ფაილი:

  1. რესურსების მონიტორი (resmon.exe)
  2. დაამუშავეთ Explorer Microsoft Sysinternals-დან
  3. სახელური Microsoft Sysinternals-ისგან
    • იპოვეთ ფაილის სახელური მარჯვენა ღილაკით მენიუში
  4. Openfiles.exe ჩაშენებული კონსოლის ხელსაწყო
    • ჩართეთ ადგილობრივი ფაილის სახელურების თვალთვალი
    • იხილეთ ღია ფაილები და შესაბამისი პროცესის სახელები
    • გათიშეთ გაზიარებული საქაღალდეებიდან გახსნილი ფაილები
  5. OpenedFilesView Nirsoft.net-დან (მე-3 მხარე)

1. რესურსების მონიტორი

რესურსების მონიტორი (resmon.exe) არის ჩაშენებული ინსტრუმენტი, რომელსაც აქვს მრავალი სასარგებლო ფუნქცია. რესურსების მონიტორით შეგიძლიათ აკონტროლეთ მიმდინარე ქსელი და ინტერნეტის გამოყენება, იხილეთ დაკავშირებული სახელურები ამისთვის ჩაკეტილი ფაილები, ასევე მართეთ პროცესები ისევე, როგორც თქვენ იყენებდით სამუშაო მენეჯერს.

პროცესის სახელის საპოვნელად, რომელსაც აქვს ფაილი დაბლოკილი, დააწკაპუნეთ CPU ჩანართზე, ჩაწერეთ ფაილის სახელი ან მისი ნაწილი ასოცირებული სახელურების ტექსტურ ველში.

იპოვეთ რომელმა პროცესმა დაბლოკა ფაილი

ჩვენ ადრე გავაშუქეთ რესურსების მონიტორი. შეამოწმეთ ეს სტატიები:

  • როგორ გამოვიყენოთ რესურსების მონიტორი, რომ იპოვოთ რომელ პროცესს აქვს ჩაკეტილი ფაილი?
  • რომელი პროგრამა იყენებს მთელ თქვენს ინტერნეტ გამტარობას? გამოიყენეთ რესურსების მონიტორი მის საპოვნელად

2. პროცესის Explorer

პროცესის Explorer შესავალი არ სჭირდება. Process Explorer-ში ყველაფერი რაც თქვენ გჭირდებათ არის გამოიყენოთ Find ფუნქცია და ჩაწერეთ ფაილის სახელი. ეს აჩვენებს ფაილზე წვდომის პროცესს.

იპოვეთ რომელმა პროცესმა დაბლოკა ფაილი

ქვედა ფანჯრის ხედიდან, საჭიროების შემთხვევაში, შეგიძლიათ დახუროთ ფაილის სახელური.

თქვენ უნდა გაუშვათ Process Explorer როგორც ადმინისტრატორი, რათა მართოთ პროცესები, რომლებიც ამაღლებულია. Process Explorer-ის ასამაღლებლად დააწკაპუნეთ ფაილების მენიუზე → დეტალების ჩვენება ყველა პროცესისთვის.

შეამოწმეთ ეს Process Explorer დაკავშირებული სტატიები:

  • როგორ წაშალოთ ჯიუტი წაშლილი ფაილი ან საქაღალდე Windows-ში?
  • იპოვეთ რომელი პროგრამა იყენებს თქვენს ვებკამერას ამჟამად
  • როგორ მოვძებნოთ რომელმა პროგრამამ გამოიწვია უცნობი შეცდომის შეტყობინება?
  • რას ნიშნავს კონტეინერში ობიექტების ჩამოთვლა ვერ მოხერხდა?

3. სახელური Windows Sysinternals-დან

Სახელური არის პროგრამა Microsoft Sysinternals-ისგან, რომელიც აჩვენებს ინფორმაციას ღია სახელურების შესახებ სისტემის ნებისმიერი პროცესისთვის. შეგიძლიათ გამოიყენოთ ის პროგრამების სანახავად, რომლებსაც აქვთ გახსნილი ფაილი, ან რომ ნახოთ პროგრამის ყველა სახელურის ობიექტების ტიპები და სახელები. სახელური ჰგავს ბრძანების ხაზის ვერსიას პროცესის Explorer.

Შენიშვნა: სახელური v4.21 აქვს ა პატარა შეცდომა სადაც ის ყოველთვის იტყობინება „არ მოიძებნა შესატყვისი სახელურები“, თუ დისკის ასო დიდია. იმედია მაიკროსოფტი გამოასწორებს მას შემდეგ განახლებაში.

დან ადმინისტრატორის ბრძანების ხაზი ფანჯარაში, გამოიყენეთ ბრძანების ხაზის სინტაქსი, რომ იპოვოთ პროცესი, რომელშიც გახსნილია ფაილი:

handle.exe -a -u ფაილის სახელი_with_path

თუ ფაილის სახელი შეიცავს სივრცეებს, ჩადეთ იგი ორმაგ ბრჭყალებში.

მაგალითი:

handle.exe -a -u "c:\users\ramesh\desktop\Mandate-form.pdf"
იპოვნეთ რომელი პროცესის ჩაკეტილი ფაილი - sysinternals ამუშავებს

(ფაილის სახელის ხსენება ბილიკის გარეშე შეიძლება სულაც არ იმუშაოს ყველა სიტუაციაში. მიზანშეწონილია ყოველთვის შეიტანოთ სრული გზა.)

გამომავალი აჩვენებს პროცესის სახელს, პროცესის იდენტიფიკატორს, მომხმარებლის სახელს, ჩაკეტილ (სამიზნე) ფაილის სახელს ბილიკით.

Sysinternals Handle: ბრძანების ხაზის არგუმენტები

გამოყენება: სახელური [[-a [-l]] [-u] | [-c [-y]] | [-s]] [-p |] [სახელი] [-nobanner]
-ა გადაყარეთ ყველა სახელურის ინფორმაცია.
-ლ უბრალოდ აჩვენეთ გვერდის ფაილებით მხარდაჭერილი სექციის სახელურები.
-გ ხურავს მითითებულ სახელურს (ინტერპრეტაცია, როგორც თექვსმეტობითი რიცხვი).
თქვენ უნდა მიუთითოთ პროცესი მისი PID-ით. გაფრთხილება: სახელურების დახურვამ შეიძლება გამოიწვიოს განაცხადის ან სისტემის არასტაბილურობა.
-ი არ მოითხოვოთ დახურული სახელურის დადასტურება.
-ს თითოეული ტიპის სახელურის ბეჭდვის რაოდენობა ღიაა.
-უ სახელურების ძიებისას აჩვენეთ მფლობელი მომხმარებლის სახელი.
-გვ პროცესის კუთვნილი ნაგავსაყრელი სახელურები (ნაწილობრივი სახელი მიღებულია).
სახელი მოძებნეთ სახელურები ობიექტებისთვის (ფრაგმენტი მიღებულია).
-ნობანერი არ აჩვენოთ გაშვების ბანერი და საავტორო უფლებების შესახებ შეტყობინება.

არცერთი არგუმენტი არ გადააგდებს ყველა ფაილის მითითებას.

დაამატეთ Sysinternals Handle მარჯვენა ღილაკით მენიუში

თქვენ შეგიძლიათ დაამატოთ Sysinternals Handle მარჯვენა დაწკაპუნებით მენიუში ფაილებისთვის, რათა სწრაფად იპოვოთ პროგრამა, რომელმაც დაბლოკა ფაილი. კონტექსტურ მენიუში დასამატებლად, მიჰყევით ამ ნაბიჯებს:

  1. ჩამოტვირთვა Სახელური Microsoft Sysinternals საიტიდან.
  2. დააკოპირეთ ფაილები handle.exe & handle64.exe საქაღალდეში - მაგ. d:\ინსტრუმენტები
  3. დააკოპირეთ კოდის შემდეგი სტრიქონები Notepad-ში და შეინახეთ ფაილი როგორც find_handle.vbs მუდმივ ადგილას.
    'აწარმოებს Sysinternals Handle.exe პროგრამას ფაილის სახელის არგუმენტით. © რამეშ სრინივასანი -- https://winhelponline.com/blog. შექმნის თარიღი: 2008 წლის 29 მარტი. განახლების თარიღი: 2019 წლის 11 ივნისი. "Windows-ის ყველა ვერსიისთვის, Windows 10 Option Explicit-ის ჩათვლით. Dim objShell, WshShell, objFSO, sBaseKey, sFilename. დააყენეთ objShell = CreateObject ("Shell. განაცხადი") დააყენეთ WshShell = CreateObject ("WScript. ჭურვი") დააყენეთ objFSO = CreateObject ("სკრიპტირება. FileSystemObject") თუ WScript. არგუმენტები. Count = 0 შემდეგ 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" სხვა შემთხვევაში, თუ objFSO.FileExists (WScript. არგუმენტები (0)) = True, შემდეგ sFilename = lcase (WScript. არგუმენტები (0)) objShell. ShellExecute "cmd.exe", "/k d:\tools\handle.exe -a -u " & _ & sFilename &, "", "runas", 1 End If. Დაასრულე თუ

    Შენიშვნა: Sysinternals Handle.exe ბილიკი მყარი კოდირებულია როგორც d:\tools\handle.exe ზემოთ მოცემულ სკრიპტში. თუ პროგრამა განლაგებულია სხვა გზაზე, შესაბამისად შეცვალეთ ბილიკი სკრიპტში. 64-ბიტიანი Windows-ისთვის შეგიძლიათ გამოიყენოთ ორივე handle.exe ან handle64.exe

  4. ორჯერ დააწკაპუნეთ find_handle.vbs რეესტრში კონტექსტური მენიუს ჩანაწერის დასამატებლად. ამის გაკეთება მხოლოდ ერთხელ დაგჭირდებათ. მაგრამ, თუ თქვენ გადაიტანეთ სკრიპტი სხვა საქაღალდეში, მოგიწევთ ორჯერ დააწკაპუნოთ მასზე, რათა განაახლოთ გზა რეესტრში.
  5. თქვენ ნახავთ იპოვე სახელური ვარიანტი, როდესაც დააწკაპუნებთ ფაილზე მარჯვენა ღილაკით. მასზე დაწკაპუნება დაიწყებს სკრიპტს, რომელიც თავის მხრივ აწარმოებს handle.exe-ს ფაილის სახელის არგუმენტით, რათა იპოვოთ პროცესი, რომელშიც ფაილი დაბლოკილია.იპოვნეთ რომელი პროცესის ჩაკეტილი ფაილი - sysinternals ამუშავებს

ამოიღონ იპოვე სახელური კონტექსტური მენიუს შეყვანა, დაიწყეთ რეესტრის რედაქტორი (regedit.exe) და წაშალეთ შემდეგი გასაღები:

HKEY_CURRENT_USER\Software\Classes\*\shell\FindHandle

4. OpenFiles.exe — ჩაშენებული კონსოლის ხელსაწყო

კიდევ ერთი ჩაშენებული ინსტრუმენტი, რომელსაც ჩვენ გამოვიყენებთ არის Openfiles.exe, კონსოლის ინსტრუმენტი, რომელიც არ არის ახალი Windows-ისთვის. იგი თავდაპირველად დაინერგა 2000 წელს, როგორც Windows Resource Kit 2000/2003 ინსტრუმენტების ნაწილი. ეს პროგრამა ნაგულისხმევად შედიოდა Windows Vista-ში და უფრო მაღალ ვერსიებში (მათ შორის Windows 10). Openfiles აჩვენებს ამჟამად ღია ფაილების სიას ლოკალური ან გაზიარებული საქაღალდეებიდან Handle ID-თან და Process შესრულებადი სახელთან ერთად. ეს ინსტრუმენტი ასევე საშუალებას გაძლევთ გათიშოთ ერთი ან მეტი ფაილი, რომლებიც დისტანციურად იხსნება საერთო საქაღალდიდან.

პირველად ჩართეთ „ობიექტების სიის შენარჩუნება“ გლობალური დროშა

უპირველეს ყოვლისა, იმისათვის, რომ ჩართოთ ადგილობრივი ფაილების სახელურების თვალყურის დევნება, თქვენ უნდა ჩართოთ „ობიექტების სიის შენარჩუნება“ დროშა ადმინისტრატორის ბრძანების სტრიქონიდან შემდეგი ბრძანების გაშვებით.

openfiles /ლოკალური ჩართულია

თქვენ ნახავთ შემდეგ შეტყობინებას:

ინფორმაცია: სისტემის გლობალური დროშა „ობიექტების სიის შენარჩუნება“ ამჟამად ჩართულია.

თქვენ მოგიწევთ ამ ბრძანების გაშვება მხოლოდ პირველად. შემდეგ გადატვირთეთ Windows, რომ ცვლილება ძალაში შევიდეს.

იხილეთ ღია ფაილები და შესაბამისი პროცესის სახელები

ვინდოუსის გადატვირთვის შემდეგ, ან ადმინისტრატორის ბრძანების ხაზი ფანჯარა, ტიპი:

ღია ფაილები

აქ ჩამოთვლილია ფაილის/სახელურის ID, პროცესის სახელი და ადგილობრივად გახსნილი ან დისტანციურად გახსნილი ფაილების სია ცხრილის ფორმატში.

გამოსავლის სიაში ან CSV ფორმატში სანახავად გამოიყენეთ /query პარამეტრი.

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

გამომავალი ბუფერში დასაკოპირებლად, მიიტანეთ გამოსავალი Clip.exe-ზე, როგორც ქვემოთ. შემდეგ ჩასვით გამომავალი Notepad-ში ან თქვენი არჩევანის ნებისმიერ სხვა რედაქტორში.

openfiles |კლიპი
იპოვეთ რომელმა პროცესმა დაბლოკა ფაილი
openfiles /query /FO LIST |კლიპ. openfiles /query /FO CSV |კლიპ
იპოვეთ რომელმა პროცესმა დაბლოკა ფაილი

დამატებითი ინფორმაციისთვის Command Prompt-ის გამომავალი ბუფერში კოპირების ან ფაილში შენახვის შესახებ, იხილეთ სტატია როგორ დავაკოპიროთ ბრძანების ხაზის გამომავალი ტექსტი ბუფერში ან შევინახოთ ფაილში?

იმის გასარკვევად, არის თუ არა კონკრეტული ფაილი გამოყენებული პროგრამის მიერ (და იმის გასაგებად, თუ რომელი პროგრამა), შეგიძლიათ გამოიყენოთ შემდეგი ბრძანების ხაზი.

openfiles | findstr /i 

მაგალითი:

openfiles | findstr /i ეიფელი

ზემოაღნიშნული ბრძანება ჩამოთვლის ყველა ღია ფაილს, რომელიც შეიცავს სიტყვას „ეიფელი“ ფაილის სახელში. ამ მაგალითში, Word 2016-ს ამჟამად აქვს ჩაკეტილი ფაილი "The Eiffel Tower.docx" (ID 4576).

იპოვეთ რომელმა პროცესმა დაბლოკა ფაილი

და "ფაილი გამოიყენება" დიალოგი მეუბნება იგივეს.

იპოვეთ რომელმა პროცესმა დაბლოკა ფაილი

გათიშეთ დისტანციურად გახსნილი ფაილები გაზიარებული საქაღალდიდან.

გაზიარებული საქაღალდიდან გახსნილი ფაილების გათიშვის მიზნით, რათა შეძლოთ ფაილის წაშლა, სახელის გადარქმევა ან შინაარსის შეცვლა, გამოიყენეთ /disconnect პარამეტრი ამ ფაილთან კავშირების გასაწყვეტად. აქ არის ბრძანების ხაზის პარამეტრები.

OPENFILES /გათიშვა [/S სისტემის [/U მომხმარებლის სახელი [/P [პაროლი]]]] {[/ID id] [/A წვდომა] [/O openmode]} [/OP openfile] აღწერა: საშუალებას აძლევს ადმინისტრატორს გაწყვიტოს ფაილები და საქაღალდეები, რომლებიც დისტანციურად გაიხსნა გაზიარებული საშუალებით საქაღალდე. პარამეტრების სია: /S system განსაზღვრავს დისტანციურ სისტემას დასაკავშირებლად. /U [domain\]user განსაზღვრავს მომხმარებლის კონტექსტს, რომლის მიხედვითაც უნდა შესრულდეს ბრძანება. /P [პაროლი] განსაზღვრავს პაროლს მოცემული მომხმარებლის კონტექსტში. /ID id განსაზღვრავს გახსნილი ფაილების გათიშვას ფაილის ID-ით. შეიძლება გამოყენებულ იქნას "*" სიმბოლო. /A accessedby განსაზღვრავს ყველა ღია ფაილის გათიშვას "accessedby" მნიშვნელობით. შეიძლება გამოყენებულ იქნას "*" სიმბოლო. /O openmode განსაზღვრავს ყველა ღია ფაილის გათიშვას "openmode" მნიშვნელობით. მოქმედი მნიშვნელობებია წაკითხვა, ჩაწერა ან წაკითხვა/ჩაწერა. შეიძლება გამოყენებულ იქნას "*" სიმბოლო. /OP openfile განსაზღვრავს ყველა ღია ფაილის კავშირის გათიშვას, რომელიც შექმნილია კონკრეტული "ღია ფაილის" სახელით. შეიძლება გამოყენებულ იქნას "*" სიმბოლო. /? აჩვენებს ამ დახმარების შეტყობინებას. მაგალითები: OPENFILES /გათიშვა /? OPENFILES / გათიშვა / ID 1 OPENFILES / გათიშვა / მომხმარებლის სახელი OPENFILES / გათიშვა / O წაკითხვა/ჩაწერა OPENFILES / გათიშვა / OP "c:\My Documents\somedoc.doc" /ID 234 OPENFILES /გათიშვა /S სისტემა /U მომხმარებლის სახელი /ID 5 OPENFILES /გათიშვა /S სისტემა /U მომხმარებლის სახელი /P პაროლი /ID *

Openfiles.exe შესანიშნავად ასრულებს ყველა ღია ფაილის ჩამონათვალს პროცესების სახელებთან ერთად, მაგრამ მას არ შეუძლია იძულებით მოკლას პროცესები. თუმცა, ეს შესანიშნავი (მაგრამ შეუმჩნეველი) ჩაშენებული კონსოლის ხელსაწყო შეიძლება გამოგადგეთ, როდესაც გსურთ სწრაფად იპოვოთ პროცესის სახელი, რომელიც იყენებს ფაილი, ან ფაილის გათიშვა, რომელსაც ქსელის მომხმარებელი გაზიარებული საქაღალდეში წვდება - მესამე მხარეზე დამოკიდებულების გარეშე გამოსავალი.

5. OpenedFilesView

OpenedFilesView Nirsoft-დან აჩვენებს თქვენს სისტემაში გახსნილი ყველა ფაილის სიას. თითოეული გახსნილი ფაილისთვის ნაჩვენებია დამატებითი ინფორმაცია: სახელურის მნიშვნელობა, წაკითხვა/ჩაწერა/წაშლა წვდომა, ფაილის პოზიცია, პროცესი. რომელმაც გახსნა ფაილი და სხვა… სურვილისამებრ, ასევე შეგიძლიათ დახუროთ ერთი ან მეტი გახსნილი ფაილი, ან დახუროთ პროცესი, რომელმაც გახსნა ისინი ფაილები.

იპოვეთ რომელმა პროცესმა დაბლოკა ფაილი

თქვენ შეგიძლიათ დახუროთ არჩეული ფაილების პროცესები ან დახუროთ შერჩეული ფაილების სახელურები. სახელურის ნომერი წარმოდგენილია თექვსმეტობითი მნიშვნელობებით, ხოლო openfiles.exe კონსოლის ინსტრუმენტი აჩვენებს მას ნორმალურ ფორმატში. ეს ინსტრუმენტი ასევე საშუალებას გაძლევთ დაამატოთ კონტექსტური მენიუს ვარიანტი, რათა სწრაფად იპოვოთ პროცესი, რომელიც ამჟამად იყენებს ფაილს, მარჯვენა ღილაკით მენიუს საშუალებით. კონტექსტური მენიუს ვარიანტი / ბრძანების ხაზის მხარდაჭერა, ვფიქრობ, არის ერთ-ერთი ყველაზე სასარგებლო ფუნქცია, რომელსაც გთავაზობთ OpenedFilesView.


ერთი პატარა მოთხოვნა: თუ მოგეწონათ ეს პოსტი, გთხოვთ გააზიაროთ?

თქვენგან ერთი "პატარა" გაზიარება სერიოზულად დაგეხმარება ამ ბლოგის ზრდაში. რამდენიმე შესანიშნავი წინადადება:
  • ჩამაგრება!
  • გააზიარეთ ის თქვენს საყვარელ ბლოგზე + Facebook, Reddit
  • ტვიტერში!
ასე რომ, დიდი მადლობა მხარდაჭერისთვის, ჩემო მკითხველო. თქვენი დროის 10 წამზე მეტი არ დასჭირდება. გაზიარების ღილაკები ზუსტად ქვემოთ არის. :)

ეზოურიშეატყობინეთ ამ რეკლამას