विंडोज़ में फाइल लॉक करने वाली प्रक्रिया की पहचान कैसे करें

जब आप किसी प्रक्रिया द्वारा उपयोग में आने वाली फ़ाइल या फ़ोल्डर को हटाने का प्रयास करते हैं, तो फ़ाइल इन यूज़ डायलॉग उस प्रोग्राम का नाम दिखाता हुआ दिखाई देता है जिसने फ़ाइल को लॉक कर दिया है।

हालांकि, ऐसे मामले हैं जहां "फ़ाइल में उपयोग" संवाद उस प्रक्रिया का नाम नहीं दिखाता है जिसमें उस फ़ाइल पर लॉक है जिसे आप हटाने का प्रयास कर रहे हैं। कुछ मामलों में, संवाद दिखाएगा "कार्रवाई पूरी नहीं की जा सकती क्योंकि फ़ाइल खुली है" दूसरी प्रक्रिया“.

पता लगाएं कि किस प्रक्रिया ने फ़ाइल को लॉक कर दिया है

प्रक्रियाओं और लॉक की गई फ़ाइलों की जांच के लिए, Windows Sysinternals Process Explorer शायद पहला विकल्प है जो अधिकांश उपयोगकर्ताओं के दिमाग में आता है। हालांकि, दो हैं अंतर्निहित समाधान वर्तमान खुली फाइलों की सूची को संबंधित प्रक्रिया नामों के साथ प्रदर्शित करने के लिए।

पता लगाएं कि किस प्रक्रिया ने फ़ाइल को लॉक कर दिया है:

  1. संसाधन मॉनिटर (resmon.exe)
  2. Microsoft Sysinternals से प्रोसेस एक्सप्लोरर
  3. Microsoft Sysinternals से हैंडल
    • राइट-क्लिक मेनू के माध्यम से फ़ाइल हैंडल ढूंढें
  4. Openfiles.exe बिल्ट-इन कंसोल टूल
    • स्थानीय फ़ाइल हैंडल की ट्रैकिंग सक्षम करें
    • खुली हुई फ़ाइलें और संबंधित प्रक्रिया के नाम देखें
    • साझा किए गए फ़ोल्डरों से खोली गई फ़ाइलों को डिस्कनेक्ट करें
  5. Nirsoft.net से OpenedFilesView (तृतीय पक्ष)

1. संसाधन निगरानी

संसाधन मॉनिटर (resmon.exe) एक अंतर्निहित उपकरण है जिसमें कई उपयोगी विशेषताएं हैं। संसाधन मॉनिटर के साथ, आप कर सकते हैं वर्तमान नेटवर्क और इंटरनेट उपयोग को ट्रैक करें, के लिए संबद्ध हैंडल देखें बंद फ़ाइलें, साथ ही प्रक्रियाओं का प्रबंधन ठीक वैसे ही जैसे आप कार्य प्रबंधक का उपयोग करते हैं।

उस प्रक्रिया का नाम खोजने के लिए जिसमें फ़ाइल लॉक है, CPU टैब पर क्लिक करें, फ़ाइल का नाम या उसका हिस्सा एसोसिएटेड हैंडल टेक्स्ट बॉक्स में टाइप करें।

पता लगाएं कि किस प्रक्रिया ने फ़ाइल को लॉक कर दिया है

हमने पहले संसाधन मॉनिटर को कवर किया है। इन लेखों को देखें:

  • किस प्रक्रिया ने फ़ाइल को लॉक किया है यह जानने के लिए संसाधन मॉनिटर का उपयोग कैसे करें?
  • कौन सा प्रोग्राम आपके सभी इंटरनेट बैंडविड्थ का उपयोग कर रहा है? इसे खोजने के लिए संसाधन मॉनिटर का उपयोग करें

2. प्रोसेस एक्सप्लोरर

प्रोसेस एक्सप्लोरर किसी परिचय की आवश्यकता नहीं है। प्रोसेस एक्सप्लोरर में, आपको केवल फाइंड फीचर का उपयोग करना है और फाइल का नाम टाइप करना है। यह उस प्रक्रिया को दिखाता है जो फ़ाइल तक पहुँच रही है।

पता लगाएं कि किस प्रक्रिया ने फ़ाइल को लॉक कर दिया है

निचले फलक दृश्य से, यदि आवश्यक हो तो आप फ़ाइल हैंडल को बंद कर सकते हैं।

उन्नत चल रही प्रक्रियाओं को प्रबंधित करने के लिए आपको प्रोसेस एक्सप्लोरर को व्यवस्थापक के रूप में चलाना होगा। प्रोसेस एक्सप्लोरर को ऊपर उठाने के लिए, फाइल मेन्यू →. पर क्लिक करें सभी प्रक्रियाओं के लिए विवरण दिखाएं.

इन प्रोसेस एक्सप्लोरर से संबंधित लेख देखें:

  • विंडोज में एक जिद्दी अनडिलीटेबल फाइल या फोल्डर को कैसे डिलीट करें?
  • पता लगाएं कि वर्तमान में कौन सा प्रोग्राम आपके वेबकैम का उपयोग कर रहा है
  • कैसे पता करें कि कौन सा प्रोग्राम अज्ञात त्रुटि संदेश का कारण बना?
  • कंटेनर में वस्तुओं की गणना करने में विफल का क्या अर्थ है?

3. Windows Sysinternals से हैंडल

हैंडल Microsoft Sysinternals की एक उपयोगिता है जो सिस्टम में किसी भी प्रक्रिया के लिए खुले हैंडल के बारे में जानकारी प्रदर्शित करती है। आप इसका उपयोग उन प्रोग्रामों को देखने के लिए कर सकते हैं जिनमें एक फ़ाइल खुली है, या किसी प्रोग्राम के सभी हैंडल के ऑब्जेक्ट प्रकार और नाम देखने के लिए। हैंडल के कमांड-लाइन संस्करण की तरह है प्रोसेस एक्सप्लोरर.

ध्यान दें: हैंडल v4.21 में a. है छोटी बग यदि ड्राइव-अक्षर अपरकेस में है तो यह हमेशा "कोई मिलान करने वाला हैंडल नहीं मिला" रिपोर्ट करता है। आशा है कि Microsoft इसे अगले अपडेट में ठीक कर देगा।

एक से व्यवस्थापक कमांड प्रॉम्प्ट विंडो, उस प्रक्रिया को खोजने के लिए कमांड-लाइन सिंटैक्स का उपयोग करें जिसमें फ़ाइल खुली है:

handle.exe -a -u filename_with_path

यदि फ़ाइल नाम में रिक्त स्थान हैं, तो इसे दोहरे उद्धरण चिह्नों में संलग्न करें।

उदाहरण:

handle.exe -a -u "c:\users\ramesh\desktop\Mandate-form.pdf"
पता लगाएं कि कौन सी प्रक्रिया लॉक की गई फ़ाइल - sysinternals हैंडल

(पथ के बिना फ़ाइल नाम का उल्लेख करना जरूरी नहीं कि हर स्थिति में काम करे। हमेशा पूर्ण पथ शामिल करना उचित है।)

आउटपुट प्रक्रिया का नाम, प्रक्रिया पहचानकर्ता, उपयोगकर्ता नाम, पथ के साथ लॉक (लक्ष्य) फ़ाइल नाम दिखाता है।

Sysinternals Handle: कमांड-लाइन तर्क

उपयोग: संभाल [[-ए [-एल]] [-यू] | [-सी [-y]] | [-s]] [-p |] [नाम] [-नोबनेर]
-ए सभी हैंडल जानकारी डंप करें।
-एल बस पेजफाइल-समर्थित अनुभाग हैंडल दिखाएं।
-सी निर्दिष्ट हैंडल को बंद कर देता है (हेक्साडेसिमल संख्या के रूप में व्याख्या की गई)।
आपको इसकी PID द्वारा प्रक्रिया निर्दिष्ट करनी होगी। चेतावनी: हैंडल बंद करने से अनुप्रयोग या सिस्टम अस्थिरता हो सकती है।
-यो क्लोज हैंडल कन्फर्मेशन के लिए प्रॉम्प्ट न करें।
-एस प्रत्येक प्रकार के हैंडल की प्रिंट संख्या खुली हुई है।
यू हैंडल की खोज करते समय मालिक का उपयोगकर्ता नाम दिखाएं।
-पी प्रक्रिया से संबंधित डंप हैंडल (आंशिक नाम स्वीकृत)।
नाम वस्तुओं के लिए हैंडल खोजें (टुकड़ा स्वीकृत)।
-नोबनेर स्टार्टअप बैनर और कॉपीराइट संदेश प्रदर्शित न करें।

कोई भी तर्क सभी फ़ाइल संदर्भों को डंप नहीं करेगा।

मेनू पर राइट-क्लिक करने के लिए Sysinternals हैंडल जोड़ें

फ़ाइल को लॉक करने वाले प्रोग्राम को शीघ्रता से ढूँढने के लिए आप फ़ाइलों के लिए राइट-क्लिक मेनू में Sysinternals Handle जोड़ सकते हैं। इसे संदर्भ मेनू में जोड़ने के लिए, इन चरणों का पालन करें:

  1. डाउनलोड हैंडल Microsoft Sysinternals साइट से।
  2. फ़ाइलें कॉपी करें हैंडल.exe & हैंडल64.exe किसी फ़ोल्डर में - उदा., डी:\उपकरण
  3. कोड की निम्नलिखित पंक्तियों को नोटपैड में कॉपी करें, और फ़ाइल को इस रूप में सहेजें find_handle.vbs एक स्थायी स्थान पर।
    फ़ाइल नाम तर्क के साथ Sysinternals Handle.exe उपयोगिता चलाता है। ' © रमेश श्रीनिवासन -- https://winhelponline.com/blog. 'बनाई गई तारीख: 29 मार्च, 2008। 'अद्यतित तिथि: 11 जून, 2019। 'विंडोज के सभी संस्करणों के लिए, विंडोज 10 विकल्प स्पष्ट सहित। मंद objShell, WshShell, objFSO, sBaseKey, sFilename। सेट objShell = CreateObject ("Shell. आवेदन") WshShell सेट करें = CreateObject ("WScript. सीप") सेट objFSO = CreateObject ("Scripting. फाइलसिस्टमऑब्जेक्ट") यदि डब्ल्यूस्क्रिप्ट. तर्क। काउंट = 0 फिर sBaseKey = "HKCU\Software\Classes\*\shell\" WshShell. RegWrite sBaseKey और "FindHandle\", "फाइंड हैंडल", "REG_SZ" WshShell। RegWrite sBaseKey और "FindHandle\command\", "wscript.exe" && _ WScript. ScriptFullName & & " " & & "% 1" &, "REG_SZ" और अगर objFSO.FileExists (WScript. तर्क (0)) = सत्य तब 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-बिट विंडोज़ के लिए, आप या तो उपयोग कर सकते हैं हैंडल.exe या हैंडल64.exe

  4. डबल क्लिक करें find_handle.vbs रजिस्ट्री में संदर्भ मेनू प्रविष्टि जोड़ने के लिए। आपको इसे केवल एक बार करने की आवश्यकता होगी। लेकिन, यदि आप स्क्रिप्ट को किसी भिन्न फ़ोल्डर में स्थानांतरित करते हैं, तो आपको रजिस्ट्री में पथ को अपडेट करने के लिए इसे फिर से डबल-क्लिक करना होगा।
  5. आप देखेंगे हैंडल ढूंढें विकल्प जब आप किसी फ़ाइल पर राइट-क्लिक करते हैं। उस पर क्लिक करने से स्क्रिप्ट लॉन्च हो जाएगी, जो फाइल के लॉक होने की प्रक्रिया को खोजने के लिए फाइलनाम तर्क के साथ हैंडल.exe चलाती है।पता लगाएं कि कौन सी प्रक्रिया लॉक की गई फ़ाइल - sysinternals हैंडल

हटाने के लिए हैंडल ढूंढें संदर्भ मेनू प्रविष्टि, रजिस्ट्री संपादक प्रारंभ करें (regedit.exe) और निम्न कुंजी हटाएं:

HKEY_CURRENT_USER\Software\Classes\*\shell\FindHandle

4. OpenFiles.exe — एक अंतर्निर्मित कंसोल टूल

एक और बिल्ट-इन टूल जिसका हम उपयोग करने जा रहे हैं, वह है Openfiles.exe, एक कंसोल टूल जो विंडोज के लिए नया नहीं है। इसे मूल रूप से 2000 में विंडोज रिसोर्स किट 2000/2003 टूल्स के हिस्से के रूप में पेश किया गया था। यह उपयोगिता तब विंडोज विस्टा और उच्चतर (विंडोज 10 सहित) में डिफ़ॉल्ट रूप से शामिल थी। Openfiles हैंडल आईडी और प्रक्रिया निष्पादन योग्य नाम के साथ, स्थानीय या साझा किए गए फ़ोल्डरों से वर्तमान में खुली हुई फ़ाइलों की सूची प्रदर्शित करता है। यह उपकरण आपको एक या अधिक फ़ाइलों को डिस्कनेक्ट करने की अनुमति भी देता है जो किसी साझा फ़ोल्डर से दूरस्थ रूप से खोली जाती हैं।

पहली बार "वस्तुओं की सूची बनाए रखें" वैश्विक ध्वज सक्षम करें

सबसे पहले, स्थानीय फ़ाइल हैंडल की ट्रैकिंग को सक्षम करने के लिए, आपको व्यवस्थापक कमांड प्रॉम्प्ट से निम्न आदेश चलाकर 'ऑब्जेक्ट सूची बनाए रखें' ध्वज चालू करना होगा।

ओपनफाइल्स / लोकल ऑन

आपको निम्न संदेश दिखाई देगा:

जानकारी: सिस्टम वैश्विक ध्वज 'ऑब्जेक्ट सूची बनाए रखें' वर्तमान में सक्षम है।

आपको यह आदेश केवल पहली बार चलाने की आवश्यकता होगी। फिर परिवर्तन को प्रभावी करने के लिए विंडोज को पुनरारंभ करें।

खुली हुई फ़ाइलें और संबंधित प्रक्रिया के नाम देखें

Windows को पुनरारंभ करने के बाद, a. से व्यवस्थापक कमांड प्रॉम्प्ट खिड़की, प्रकार:

खुली फ़ाइलें

यह फ़ाइल/हैंडल आईडी, प्रक्रिया का नाम और स्थानीय रूप से खोली गई या स्थानीय शेयर बिंदुओं के माध्यम से दूरस्थ रूप से खोली गई फ़ाइलों की सूची तालिका प्रारूप में सूचीबद्ध करता है।

सूची या सीएसवी प्रारूप में आउटपुट देखने के लिए, /query पैरामीटर का उपयोग करें।

ओपनफाइल्स/क्वेरी/एफओ लिस्ट। ओपनफाइल्स /क्वेरी /एफओ सीएसवी

आउटपुट को क्लिपबोर्ड पर कॉपी करने के लिए, आउटपुट को नीचे दिए गए Clip.exe पर पाइप करें। फिर आउटपुट को नोटपैड या अपनी पसंद के किसी अन्य संपादक में पेस्ट करें।

ओपनफाइल्स |क्लिप
पता लगाएं कि किस प्रक्रिया ने फ़ाइल को लॉक कर दिया है
ओपनफाइल्स /क्वेरी /एफओ लिस्ट |क्लिप। ओपनफाइल्स /क्वेरी /एफओ सीएसवी |क्लिप
पता लगाएं कि किस प्रक्रिया ने फ़ाइल को लॉक कर दिया है

कमांड प्रॉम्प्ट आउटपुट को क्लिपबोर्ड पर कॉपी करने या आउटपुट को फ़ाइल में सहेजने के बारे में अधिक जानकारी के लिए, लेख देखें कमांड प्रॉम्प्ट आउटपुट टेक्स्ट को क्लिपबोर्ड पर कॉपी कैसे करें या फाइल में सेव करें?

यह पता लगाने के लिए कि क्या कोई विशेष फ़ाइल किसी प्रोग्राम द्वारा उपयोग की जा रही है (और यह जानने के लिए कि कौन सा प्रोग्राम), आप निम्न कमांड-लाइन का उपयोग कर सकते हैं।

ओपनफाइल्स | खोज / आई 

उदाहरण:

ओपनफाइल्स | खोज / मैं एफिल

उपरोक्त आदेश उन सभी खुली फाइलों को सूचीबद्ध करता है जिनमें फ़ाइल नाम में "एफिल" शब्द होता है। इस उदाहरण में, Word 2016 में वर्तमान में "The Eiffel Tower.docx" (ID 4576) फ़ाइल पर लॉक है।

पता लगाएं कि किस प्रक्रिया ने फ़ाइल को लॉक कर दिया है

और "फाइल इन यूज" डायलॉग मुझे वही बताता है।

पता लगाएं कि किस प्रक्रिया ने फ़ाइल को लॉक कर दिया है

साझा किए गए फ़ोल्डर से दूरस्थ रूप से खोली गई फ़ाइलों को डिस्कनेक्ट करें।

साझा फ़ोल्डर से खोली गई फ़ाइलों को डिस्कनेक्ट करने के लिए ताकि आप हटा सकें, फ़ाइल का नाम बदल सकें या सामग्री को संशोधित कर सकें, का उपयोग करें /disconnect उस फ़ाइल से कनेक्शन काटने के लिए पैरामीटर। यहां कमांड-लाइन विकल्प दिए गए हैं।

ओपनफाइल्स/डिस्कनेक्ट [/एस सिस्टम [/यू यूजरनेम [/पी [पासवर्ड]]]] {[/आईडी आईडी] [/ए एक्सेस बाय] [/ओ ओपनमोड]} [/ओपी ओपनफाइल] विवरण: एक व्यवस्थापक को उन फ़ाइलों और फ़ोल्डरों को डिस्कनेक्ट करने में सक्षम बनाता है जो एक साझा. के माध्यम से दूरस्थ रूप से खोले गए हैं फ़ोल्डर। पैरामीटर सूची: /S सिस्टम कनेक्ट करने के लिए रिमोट सिस्टम को निर्दिष्ट करता है। /यू [डोमेन\]उपयोगकर्ता उस उपयोगकर्ता संदर्भ को निर्दिष्ट करता है जिसके तहत कमांड को निष्पादित करना चाहिए। / पी [पासवर्ड] दिए गए उपयोगकर्ता संदर्भ के लिए पासवर्ड निर्दिष्ट करता है। /आईडी आईडी फाइल आईडी द्वारा खुली फाइलों को डिस्कनेक्ट करने के लिए निर्दिष्ट करता है। "*" वाइल्डकार्ड का उपयोग किया जा सकता है। /A accessedby सभी खुली फाइलों को "एक्सेस बाय" मान से डिस्कनेक्ट करने के लिए निर्दिष्ट करता है। "*" वाइल्डकार्ड का उपयोग किया जा सकता है। /ओ ओपनमोड "ओपनमोड" मान द्वारा सभी खुली फाइलों को डिस्कनेक्ट करने के लिए निर्दिष्ट करता है। मान्य मान पढ़ें, लिखें या पढ़ें/लिखें। "*" वाइल्डकार्ड का उपयोग किया जा सकता है। /OP openfile एक विशिष्ट "खुली फ़ाइल" नाम से बनाए गए सभी खुले फ़ाइल कनेक्शन को डिस्कनेक्ट करने के लिए निर्दिष्ट करता है। "*" वाइल्डकार्ड का उपयोग किया जा सकता है। /? यह सहायता संदेश प्रदर्शित करता है। उदाहरण: OPENFILES /डिस्कनेक्ट /? ओपनफाइल्स/डिस्कनेक्ट/आईडी 1 ओपनफाइल्स/डिस्कनेक्ट/एक यूजरनेम ओपनफाइल्स/डिस्कनेक्ट/ओ ओपनफाइल्स पढ़ें/लिखें/डिस्कनेक्ट/ओपी "सी:\माय Documents\somedoc.doc" /ID 234 OPENFILES /डिस्कनेक्ट /एस सिस्टम /यू यूजरनेम /आईडी 5 ओपनफाइल्स /डिस्कनेक्ट /एस सिस्टम /यू यूजरनेम /पी पासवर्ड /पहचान *

Openfiles.exe प्रक्रिया नामों के साथ सभी खुली फाइलों को सूचीबद्ध करने का काम पूरी तरह से करता है, लेकिन यह जबरन प्रक्रियाओं को नहीं मार सकता है। हालाँकि, यह उत्कृष्ट (लेकिन अनदेखा) बिल्ट-इन कंसोल टूल तब काम आ सकता है जब आप एक प्रक्रिया नाम को जल्दी से खोजना चाहते हैं जो उपयोग कर रहा हो एक फ़ाइल, या किसी फ़ाइल को डिस्कनेक्ट करने के लिए जिसे किसी नेटवर्क उपयोगकर्ता द्वारा साझा फ़ोल्डर के माध्यम से एक्सेस किया जा रहा है - बिना किसी तृतीय-पक्ष के आधार पर उपाय।

5. OpenedFilesView

OpenedFilesView Nirsoft से आपके सिस्टम पर सभी खोली गई फाइलों की सूची प्रदर्शित करता है। प्रत्येक खोली गई फ़ाइल के लिए, अतिरिक्त जानकारी प्रदर्शित होती है: हैंडल वैल्यू, रीड/राइट/डिलीट एक्सेस, फाइल पोजीशन, प्रोसेस जिसने फ़ाइल खोली, और भी बहुत कुछ... वैकल्पिक रूप से, आप एक या अधिक खोली गई फ़ाइलों को बंद भी कर सकते हैं, या उन्हें खोलने वाली प्रक्रिया को बंद कर सकते हैं फ़ाइलें।

पता लगाएं कि किस प्रक्रिया ने फ़ाइल को लॉक कर दिया है

आप चयनित फ़ाइलों की प्रक्रियाओं को बंद कर सकते हैं या चयनित फ़ाइल हैंडल को बंद कर सकते हैं। हैंडल नंबर को हेक्स मानों में दर्शाया जाता है जबकि openfiles.exe कंसोल टूल इसे सामान्य प्रारूप में दिखाता है। यह टूल आपको राइट-क्लिक मेनू के माध्यम से उस प्रक्रिया को त्वरित रूप से खोजने के लिए एक संदर्भ मेनू विकल्प जोड़ने देता है जो वर्तमान में फ़ाइल का उपयोग कर रही है। संदर्भ मेनू विकल्प / कमांड-लाइन समर्थन, मुझे लगता है, OpenedFilesView द्वारा पेश की जाने वाली सबसे उपयोगी सुविधाओं में से एक है।


एक छोटा सा अनुरोध: अगर आपको यह पोस्ट पसंद आया हो, तो कृपया इसे शेयर करें?

आपका एक "छोटा" हिस्सा इस ब्लॉग के विकास में बहुत मदद करेगा। कुछ बेहतरीन सुझाव:
  • इसे पिन करें!
  • इसे अपने पसंदीदा ब्लॉग + Facebook, Reddit. पर साझा करें
  • इसे ट्वीट करें!
तो आपके समर्थन के लिए बहुत-बहुत धन्यवाद, मेरे पाठक। यह आपके समय के 10 सेकंड से अधिक नहीं लेगा। शेयर बटन ठीक नीचे हैं। :)

एज़ोइकइस विज्ञापन की रिपोर्ट करें