ابحث عن العملية التي أقفلت ملف بدون أدوات الطرف الثالث

2019-05-05 13:01:39
رئيسي·مايكروسوفت·ابحث عن العملية التي أقفلت ملف بدون أدوات الطرف الثالث

عند محاولة حذف ملف أو مجلد قيد الاستخدام من قبل عملية ، يظهر مربع الحوار "ملف قيد الاستخدام" يوضح اسم البرنامج الذي قام بتأمين الملف.

ومع ذلك ، هناك حالات لا يظهر فيها مربع الحوار "ملف قيد الاستخدام" اسم العملية التي تحتوي على قفل للملف الذي تحاول حذفه. في بعض الحالات ، سيظهر مربع الحوار "لا يمكن إكمال الإجراء لأن الملف مفتوح في عملية أخرى ".

للتحقيق في العمليات والملفات المقفلة ، من المحتمل أن يكون Windows Sysinternals Process Explorer هو الخيار الأول الذي يتبادر إلى الذهن لمعظم المستخدمين. ومع ذلك ، هناك حلان مدمجان لعرض قائمة الملفات المفتوحة الحالية جنبًا إلى جنب مع أسماء العمليات المقابلة.

ابحث عن العملية التي قامت بتأمين ملف باستخدام:

  1. مراقب الموارد (resmon.exe)
  2. عملية المستكشف من Microsoft Sysinternals
  3. التعامل مع Microsoft Sysinternals
    • ابحث عن مقبض الملف عبر قائمة النقر بزر الماوس الأيمن
  4. أداة وحدة التحكم المضمنة Openfiles.exe
    • تمكين تعقب مقابض الملفات المحلية
    • عرض الملفات المفتوحة وأسماء العمليات المقابلة
    • فتح قطع الملفات من المجلدات المشتركة
  5. OpenedFilesView من Nirsoft.net (طرف ثالث)

1. مراقب الموارد

Resource Monitor (resmon.exe) هي أداة مضمنة تحتوي على العديد من الميزات المفيدة. باستخدام Resource Monitor ، يمكنك تتبع استخدام الشبكة والإنترنت الحالي ، وعرض المقابض المرتبطة بالملفات المقفلة ، بالإضافة إلى إدارة العمليات تمامًا كما تستخدم مدير المهام.

للعثور على اسم العملية الذي يحتوي على ملف مقفل ، انقر فوق علامة التبويب CPU ، واكتب اسم الملف أو جزء منه في مربع النص Associated Handles.

لقد قمنا بتغطية Resource Monitor سابقًا. تحقق من هذه المقالات:

  • كيفية استخدام مراقب الموارد للعثور على العملية التي تم تأمين ملف؟
  • ما هو البرنامج الذي يستخدم كل نطاق الإنترنت الخاص بك؟ استخدم مراقب الموارد للعثور عليه

2. عملية المستكشف

لا يحتاج Explorer Explorer إلى مقدمة. في Process Explorer ، كل ما عليك فعله هو استخدام ميزة البحث واكتب اسم الملف. يعرض هذا العملية التي تصل إلى الملف.

من عرض الجزء السفلي ، يمكنك إغلاق مقبض الملف إذا لزم الأمر.

يجب تشغيل Process Explorer كمسؤول من أجل إدارة العمليات التي يتم تشغيلها مرتفعة. لرفع Process Explorer ، انقر فوق القائمة ملف ← إظهار التفاصيل لكافة العمليات .

تحقق من المقالات ذات الصلة بـ Explorer Explorer:

  • كيفية حذف ملف أو مجلد عنيد في نظام ويندوز؟
  • ابحث عن البرنامج الذي يستخدم كاميرا الويب حاليًا
  • كيفية البحث عن البرنامج الذي تسبب في ظهور رسالة خطأ غير معروفة؟
  • ماذا يعني تعداد الكائنات في الحاوية؟

3. التعامل مع Windows Sysinternals

Handle عبارة عن أداة مساعدة من Microsoft Sysinternals تعرض معلومات حول المقابض المفتوحة لأي عملية في النظام. يمكنك استخدامه لرؤية البرامج التي تحتوي على ملف مفتوح ، أو لمشاهدة أنواع الكائنات وأسماء جميع مقابض البرنامج. المقبض يشبه إصدار سطر الأوامر من Process Explorer.

ملاحظة: يحتوي المقبض v4.21 على خطأ صغير حيث يُبلغ دائمًا عن "لم يتم العثور على مقابض مطابقة" إذا كان حرف محرك الأقراص بأحرف كبيرة. نأمل أن تقوم Microsoft بإصلاحه في التحديث التالي.

من نافذة موجه أوامر المسؤول ، استخدم بناء جملة سطر الأوامر للعثور على العملية التي يتم فيها فتح الملف:

 handle.exe -a -u filename_with_path 

إذا كان اسم الملف يحتوي على مسافات ، ضعه بين علامات اقتباس مزدوجة.

مثال:

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

(ذكر اسم الملف بدون المسار قد لا يعمل بالضرورة في كل موقف. من المستحسن تضمين المسار الكامل دائمًا).

يعرض الإخراج اسم العملية ، ومعرف العملية ، واسم المستخدم ، واسم الملف المؤمن (الهدف) مع المسار.

Sysinternals Handle: وسيطات سطر الأوامر

 الاستخدام: مقبض [[-a [-l]] [-u] | [-c [-y]] | [-s]] [-p |] [name] [-nobanner] 
تفريغ كل التعامل مع المعلومات.
-lمجرد إظهار مقابض المقطع المدعومة pagefile.
لإغلاق المقبض المحدد (يتم تفسيره كرقم سداسي عشري).
يجب تحديد العملية من خلال PID الخاص به. تحذير: يمكن أن يؤدي إغلاق المقابض إلى عدم استقرار التطبيق أو النظام.
-yلا تطالب بتأكيد مقبض مغلق.
فتح طباعة كل نوع من أنواع المقبض.
-uإظهار اسم المستخدم المالك عند البحث عن المقابض.
مقابض التفريغ التي تنتمي إلى العملية (يُقبل الاسم الجزئي).
اسمابحث عن مقابض العناصر باستخدام (الجزء المقبول).
-نوبانلا تعرض شعار بدء التشغيل ورسالة حقوق النشر.

لن تقوم أي وسيطات بتفريغ جميع مراجع الملف.

أضف مقبض Sysinternals إلى قائمة النقر بزر الماوس الأيمن

يمكنك إضافة Sysinternals Handle إلى قائمة النقر بزر الماوس الأيمن للملفات للعثور بسرعة على البرنامج الذي أقفل الملف. لإضافته إلى قائمة السياق ، اتبع الخطوات التالية:

  1. تحميل مقبض من موقع Microsoft Sysinternals.
  2. انسخ الملفات handle.exe & handle64.exe إلى مجلد - على سبيل المثال ، d:\tools
  3. قم بنسخ سطور التعليمات البرمجية التالية إلى المفكرة ، واحفظ الملف باسم find_handle.vbs إلى موقع دائم.
     'تشغيل الأداة المساعدة Sysinternals Handle.exe مع وسيطة اسم الملف. '© Ramesh Srinivasan - https://winhelponline.com/blog' تاريخ الإنشاء: 29 مارس 2008 'تاريخ التحديث: 11 يونيو 2019' لجميع إصدارات Windows ، بما في ذلك Windows 10 Option Explicit Dim objShell و WshShell و objFSO ، sBaseKey ، sFilename Set objShell = CreateObject ("Shell.Application") تعيين WshShell = CreateObject ("WScript.Shell") تعيين objFSO = CreateObject ("Scripting.FileSystemObject") إذا كان WScript.Arguments.Count = 0 ثم sBaseKey = "HKCU \ البرامج \ الفئات \ * \ 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.Arguments (0)) = True ثم sFilename = lcase (WScript.Arguments (0)) objShell.Shell تنفيذ "cmd.exe" ، "/kd:\tools\handle.exe -a -u" & _ "" "" & sFilename & "" "،" "،" runas "، 1 End If End If 

    ملاحظة: مسار Sysinternals Handle.exe مشفر على أنه d:\tools\handle.exe في البرنامج النصي أعلاه. إذا كان البرنامج موجودًا على مسار مختلف ، فقم بتعديل المسار في البرنامج النصي وفقًا لذلك. بالنسبة إلى Windows 64 بت ، يمكنك استخدام إما handle.exe أو handle64.exe

  4. انقر نقرًا مزدوجًا فوق find_handle.vbs لإضافة إدخال قائمة السياق في التسجيل. ستحتاج إلى القيام بذلك مرة واحدة فقط. ولكن ، إذا قمت بنقل البرنامج النصي إلى مجلد مختلف ، فستحتاج إلى النقر فوقه نقرًا مزدوجًا لتحديث المسار في التسجيل.
  5. سترى خيار Find Handle عند النقر بزر الماوس الأيمن فوق ملف. سيؤدي النقر عليه إلى تشغيل البرنامج النصي الذي يقوم بدوره بتشغيل handle.exe مع وسيطة اسم الملف للعثور على العملية التي تم تأمين الملف فيها.

لإزالة إدخال قائمة سياق Find Handle ، ابدأ تشغيل محرر التسجيل ( 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 قائمة الملفات المفتوحة حاليًا من المجلدات المحلية أو المشتركة ، جنبًا إلى جنب مع معرّف المقبض والاسم القابل للتنفيذ للعملية. تتيح لك هذه الأداة أيضًا فصل ملف أو أكثر من الملفات التي يتم فتحها عن بُعد من مجلد مشترك.

تمكين العلم العالمي "الحفاظ على قائمة الكائنات" للمرة الأولى

أولاً ، لتمكين تعقب مقابض الملفات المحلية ، تحتاج إلى تشغيل علامة "الحفاظ على قائمة الكائنات" عن طريق تشغيل الأمر التالي من موجه أوامر المسؤول.

 ملفات مفتوحة / محلية 

سترى الرسالة التالية:

INFO: تم تمكين علامة النظام العالمية "الحفاظ على قائمة الكائنات" في الوقت الحالي.

ستحتاج إلى تشغيل هذا الأمر للمرة الأولى فقط. ثم أعد تشغيل Windows ليصبح التغيير نافذ المفعول.

عرض الملفات المفتوحة وأسماء العمليات المقابلة

بعد إعادة تشغيل Windows ، من نافذة موجه أوامر المسؤول ، اكتب:

 الملفات المفتوحة 

يسرد هذا معرّف الملف / المقبض واسم العملية وقائمة الملفات التي تم فتحها محليًا أو التي تم فتحها عن بُعد عبر نقاط المشاركة المحلية بتنسيق جدول.

لعرض الإخراج في تنسيقات List أو CSV ، استخدم المعلمة / query.

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

لنسخ الإخراج إلى الحافظة ، قم بتوجيه الإخراج إلى Clip.exe على النحو التالي. ثم قم بلصق الإخراج في المفكرة أو أي محرر آخر من اختيارك.

 مقطع مفتوح | 

 openfiles / query / FO LIST | clip openfiles / query / FO CSV | clip 

لمزيد من المعلومات حول نسخ مخرجات موجه الأوامر إلى الحافظة أو حفظ المخرجات في ملف ، راجع المقالة كيفية نسخ نص إخراج موجه الأوامر إلى الحافظة أو الحفظ إلى ملف؟

لمعرفة ما إذا كان هناك ملف معين قيد الاستخدام من قبل برنامج (ولمعرفة البرنامج) ، يمكنك استخدام سطر الأوامر التالي.

 ملفات مفتوحة | findstr / i 

مثال:

 ملفات مفتوحة | findstr / i إيفل 

يسرد الأمر أعلاه جميع الملفات المفتوحة التي تحتوي على كلمة "eiffel" في اسم الملف. في هذا المثال ، يحتوي Word 2016 حاليًا على قفل الملف "The Eiffel Tower.docx" (ID 4576).

ويخبرني مربع حوار "ملف قيد الاستخدام" الشيء نفسه.

فتح ملفات قطع الاتصال عن بعد من المجلد المشترك.

لفصل الملفات المفتوحة من المجلد المشترك بحيث يمكنك حذف الملف أو إعادة تسميته أو تعديل المحتويات ، استخدم المعلمة /disconnect لقطع الاتصالات بهذا الملف. فيما يلي خيارات سطر الأوامر.

 OPENFILES / Disconnect [/ S system [/ U username [/ P [password]]]] {[/ ID id] [/ A accessedby] [/ O openmode]} [/ OP openfile] الوصف: يمكّن المشرف لفصل الملفات والمجلدات التي تم فتحها عن بعد من خلال مجلد مشترك. قائمة المعلمات: / S system يحدد النظام البعيد للاتصال به. / U [domain \] user تحديد سياق المستخدم الذي يجب تنفيذ الأمر تحته. / P [password] تحديد كلمة المرور لسياق المستخدم المحدد. / ID id تعين فصل الملفات المفتوحة بواسطة معرف الملف. يمكن استخدام حرف البدل "*". / A يتم الوصول إليه يحدد قطع كافة الملفات المفتوحة بقيمة "تم الوصول إليه". يمكن استخدام حرف البدل "*". / O openmode يحدد قطع كافة الملفات المفتوحة بقيمة "openmode". القيم الصالحة هي قراءة أو كتابة أو قراءة / كتابة. يمكن استخدام حرف البدل "*". / OP openfile يحدد قطع كافة اتصالات الملفات المفتوحة التي تم إنشاؤها بواسطة اسم "ملف مفتوح" محدد. يمكن استخدام حرف البدل "*". /؟ يعرض رسالة المساعدة هذه. أمثلة: 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 username / ID ID 5 OPENFILES / Disconnect / S system / U username / P password / ID * 

يقوم Openfiles.exe بشكل مثالي بمهمة سرد جميع الملفات المفتوحة جنبًا إلى جنب مع أسماء العمليات ، ولكن لا يمكن أن يقتل العمليات بالقوة. ومع ذلك ، يمكن أن تكون أداة وحدة التحكم المضمنة الممتازة هذه (ولكن يتم تجاهلها) مفيدة عندما تريد العثور بسرعة على اسم عملية يستخدم ملفًا ، أو لفصل ملف يتم الوصول إليه من خلال مجلد مشترك بواسطة مستخدم شبكة - دون الاعتماد على حل طرف ثالث.

5. OpenedFilesView

يعرض OpenedFilesView من Nirsoft قائمة بجميع الملفات المفتوحة على نظامك. لكل ملف مفتوح ، يتم عرض معلومات إضافية: معالجة القيم ، الوصول للقراءة / الكتابة / الحذف ، موضع الملف ، العملية التي فتحت الملف ، والمزيد ... اختياريًا ، يمكنك أيضًا إغلاق ملف مفتوح أو أكثر ، أو إغلاق العملية التي فتح هذه الملفات.

يمكنك إغلاق عمليات الملفات المحددة أو إغلاق مقابض الملفات المحددة. يتم تمثيل رقم المقبض بقيم سداسية بينما تظهر أداة وحدة التحكم openfiles.exe التنسيق العادي. تتيح لك هذه الأداة أيضًا إضافة خيار قائمة السياق للعثور بسرعة على العملية التي تستخدم حاليًا ملفًا ، عبر قائمة النقر بزر الماوس الأيمن. أعتقد أن خيار قائمة السياق / دعم سطر الأوامر هو واحد من أكثر الميزات المفيدة التي تقدمها OpenedFilesView.

اختيار المحرر