कमांड लाइन से USB डिवाइस निकालें


61

मैं विंडोज 7 के लिए एक बैकअप स्क्रिप्ट का निर्माण कर रहा हूं, और अंतिम क्रिया जो मैं यह करना चाहता हूं कि वह यूएसबी ड्राइव को सुरक्षित रूप से "हटाने" के लिए है जिसे वह बैकअप दे रहा है। मैं इस धारणा के तहत हूं कि हर समय एक ही यूएसबी पोर्ट में ड्राइव को प्लग करना एक ही DEV_ID को बनाए रखेगा (मुझे गलत मानें तो सही)। कमांड लाइन (या पॉवरशेल) के साथ, मैं उपयोगकर्ता इनपुट के बिना स्वचालित रूप से हार्डवेयर को सुरक्षित रूप से हटाने के लिए विंडोज को कैसे बता सकता हूं?

एक स्थान धारक के रूप में, अन्य OSes जो ऐसा करने का एक तरीका हो सकता है, साथ ही साथ यह जानना बहुत अच्छा होगा।


5
मुझे नीचे दिए गए कुछ "उत्तरों" से निराशा को स्वीकार करना होगा, जो स्पष्ट रूप से समझ में नहीं आया कि क्या पूछा जा रहा है और उपलब्ध कराए गए विकल्प जो स्पष्ट रूप से स्वचालन के कार्य के लिए बेकार हैं। `ಠ_ಠ
Synetech

> मैं इस धारणा के तहत हूं कि हर समय समान यूएसबी पोर्ट में ड्राइव को प्लग करना एक ही DEV_ID रखेगा, अगर मैं गलत हूं तो मुझे सुधारें। वह सही है। Windows एक ड्राइव और पोर्ट को पहचानने वाले जोड़े के रूप में मानता है। इसे एक अलग पोर्ट में प्लग करके (जिसमें इसे कभी प्लग नहीं किया गया है), आप विंडोज के ड्राइवर-इंस्टॉलेशन फ़ंक्शन को ट्रिगर करेंगे। इससे भी बदतर, अगर आपने एक गैर-निरंतर ड्राइव-अक्षर को वॉल्यूम में असाइन किया है, तो इसे एक नए पोर्ट में प्लग करने से वह अक्षर बरकरार नहीं रहेगा, और इसे अगला उपलब्ध पत्र मिलेगा और आपको फिर से मैन्युअल रूप से एक पत्र असाइन करना होगा।
Synetech

1
(विचित्र रूप से पर्याप्त है, अगर आप एक ड्राइव को पोर्ट में प्लग करते हैं और विंडोज को इसके लिए ड्राइवर स्थापित करने देते हैं, तो इसे एक गैर-निरंतर ड्राइव-अक्षर असाइन करें, फिर इसे एक अलग ड्राइव में प्लग को अनप्लग करें जो एक ही मेक, मॉडल का है,) और आकार, तब विंडोज ठीक उसी तरह से व्यवहार करेगा, जैसा कि आपने पिछली ड्राइव में फिर से प्लग किया था।)
Syntech

क्या आप शीर्षक को सही होने के लिए अपडेट कर सकते हैं। मैं USB "डिवाइस" नहीं "USB" ड्राइव को हटाने पर जवाब ढूंढ रहा था।

जवाबों:


32

RemoveDrive ने अतीत में मेरी अच्छी सेवा की है


4
removerive \ x64> RemoveDrive.exe f: -L उन लोगों के लिए कोड है, जो जल्दी में हैं
फेडमीच

इसने मेरे लिए काम करना खत्म कर दिया। दिलचस्प बात यह है कि WqlEventQuery को मैंने तब भी तार-तार किया है जब तक आप ड्राइव को शारीरिक रूप से बाहर निकालने तक इंतजार नहीं करते। इस सामान के बारे में एक टन नहीं जानते, लेकिन इसने मुझे चौंका दिया। इस मामले में मेरे लिए कोई मुद्दा नहीं है।
सैमुअलस्केक

1
RemoveDrive अच्छा है, लेकिन समस्या यह है कि यह वास्तव में पूरी ड्राइव को हटा देता है। कार्ड-रीडर्स के लिए, केवल कार्ड को अस्वीकार करने के बजाय (जैसे राइट-क्लिक करना और माय कंप्यूटर से इजेक्ट का चयन करना), और आपको एक और प्लग इन करने की अनुमति देता है, यह पूरे कार्ड-रीडर को हटा देता है, जिसके लिए इसे शारीरिक रूप से अनप्लग्ड और फिर से करने की आवश्यकता होती है- कार्ड रीडर में बनाया गया है, तो प्लग किया गया, या इससे भी बदतर, रिबूट करना (यह सॉफ्टवेयर के माध्यम से करना संभव है लेकिन यह कष्टप्रद है)।
Synetech

आप इसे साइबरविन से भी चला सकते हैं।
केविन सैडलर

65

अन्य उत्तर में उल्लिखित सिवनी के डीड्राइव के अलावा , उपयोगिताओं का एक पूरा गुच्छा है जो इसे पूरा कर सकते हैं। एक छोटी सूची इस प्रकार है:

  • USB डिस्क बेदखली मुख्य रूप से एक GUI- आधारित उपयोगिता है, लेकिन कमांड लाइन से समान रूप से अच्छी तरह से इस्तेमाल किया जा सकता है कि ड्राइव ड्राइव या ड्राइव पत्र / (आंशिक) ड्राइव नाम / माउंटपॉइंट आदि को निर्दिष्ट करके किसी भी ड्राइव को ड्राइव से बेदखल कर दिया जाए। स्वतंत्र और खुला स्रोत।

    USB डिस्क बेदखलदार

  • USB सुरक्षित रूप से निकालें मुक्त नहीं है, लेकिन यहनिश्चित कमांड लाइन समर्थन सहितकई उन्नत सुविधाओं के साथ, स्टेरॉयड पर एक डिस्क हटाने की उपयोगिता है। ज़ेंटिमो इसका बड़ा भाई है, और भी अधिक विशेषताओं के साथ

    USB सुरक्षित रूप से निकालें

  • Microsoft का अपना DevCon डिवाइस मैनेजर का कमांड-लाइन संस्करण है। KB पेज से उपलब्ध मूल Win2K / XP- युग संस्करण के अलावा, विभिन्न रिलीज़ MS स्रोत से नए रिलीज़ (दोनों 32 और 64-बिट) के रूप में उपलब्ध हैं जहाँ यह DevCon.exe लेख को खोजने के लिए है । विंडोज 7 के लिए DevCon.exe (और शायद विंडोज 8 के रूप में) उपयुक्त विंडोज ड्राइवर किट (WDK) में दफन पाया जा सकता है , जैसा कि इस धागे में उल्लेखित है (जिसमें निकाले गए निष्पादन योग्य डाउनलोड लिंक भी हैं )।

    devcon status *या devcon hwids *या devcon findall =usb(एक अधिक कॉम्पैक्ट लिस्टिंग के लिए) आप डिवाइस के हार्डवेयर ID बताना चाहिए। उदाहरण के लिए:

    USB \ VID_0781 और PID_7113 \ 0001162825
    नाम: USB मास संग्रहण डिवाइस
    ड्राइवर चल रहा है।

    फिर आप डिवाइस को हटाने की कोशिश कर सकते हैं devcon remove "USB\VID_0781&PID_7113"(वाइल्डकार्ड जैसे * अनुमति दी जाती है, लेकिन सावधान रहें या आप किसी और चीज़ को पूरी तरह से हटा सकते हैं!)


किसी ने पूछा " क्या अंगूठे के ड्राइव को अस्वीकार करने के लिए " Win7 से DOS प्रॉम्प्ट (cmd.exe) कमांड है? "जो दुर्भाग्य से इस धागे के डुप्लिकेट के रूप में बंद था। हालाँकि, यह सवाल विंडोज रिकवरी कंसोल / सिस्टम रिकवरी कमांड प्रॉम्प्ट में यूएसबी ड्राइव को खारिज करने के बारे में था , इसलिए यह संभव नहीं है कि ऊपर दी गई कोई भी यूटिलिटी मदद करेगी। ऐसी स्थिति में, डिस्कपार्ट का उपयोग करने वाली निम्न विधि काम करना चाहिए:

  1. diskpartडिस्कपार्ट प्रॉम्प्ट के लिए टाइप करें और प्रतीक्षा करें ( DISKPART>)

  2. प्रकार list volume

  3. USB ड्राइव की वॉल्यूम संख्या को ध्यान से नोट करें (सूचीबद्ध गुणों जैसे ड्राइव अक्षर, लेबल, प्रकार और मदद के लिए आकार का उपयोग करें)

  4. टाइप करें select volume <number>, जहां <number>वॉल्यूम संख्या ऊपर बताई गई है

    Diskpart

  5. प्रकार remove all dismount

  6. exitडिस्कपार्ट छोड़ने के लिए टाइप करें

अब आपको डेटा हानि के डर के बिना अपने यूएसबी ड्राइव को सुरक्षित रूप से निकालने में सक्षम होना चाहिए।


1
एसयू के बंद होने के बाद भी मेरे सवाल का जवाब देने के लिए समय निकालने के लिए धन्यवाद। मैंने आगे बढ़कर जारेड ट्रिस्च के सुझाव पर काम किया और इसे हटाकर ड्राइव को हटा दिया। एक बार जब मुझे लैपटॉप फिर से चालू हो जाता है, तो मैं DISKPART के साथ प्रयोग करूँगा। यहाँ DISKPART के लिए Microsoft के चश्मे की लिंक दी गई है। Technet.microsoft.com/en-us/library/bb490893.aspx
zundarz

2
@zundarz: आपका स्वागत है! हटाने योग्य उपकरणों के लिए विंडोज में डिफ़ॉल्ट निष्कासन नीति त्वरित निष्कासन है , जो अक्षम लेखन कैशिंग है और एक को ड्राइव को हटाने की अनुमति देता है बिना इसे पहले सुरक्षित रूप से हटाने की आवश्यकता के। इस स्क्रीनशॉट को और देखें । यदि ड्राइव हटाने योग्य है तो रिकवरी कंसोल में भी इसी तरह से व्यवहार किए जाने पर ड्राइव को याँकिंग के बारे में जेरेड के सुझाव को डेटा हानि का कारण नहीं बनना चाहिए। फिर भी, मन की शांति के लिए मैं हमेशा ध्यान रखता हूं कि प्रत्येक ड्राइव को निकालने से पहले सुरक्षित रूप से हटा दें। एक प्लेसबो हो सकता है, लेकिन मुझे चिंता करने से रोकता है। :)
करण

PS डिस्कपार्ट से सावधान रहें - यह शक्तिशाली है और इसलिए काफी खतरनाक है। इसका कारण मैंने इसे ड्राइव डिसकाउंटिंग के लिए उपयोग किया है क्योंकि यह XP के रिकवरी कंसोल और विस्टा / 7 के सिस्टम रिकवरी ऑप्शंस / डिजिटल प्रॉम्प्ट दोनों से उपलब्ध है।
करण

मैंने Diskpartसामान्य विंडोज मोड में रहते हुए उपयोग करने की कोशिश की । यह वह संदेश है जो मुझे ऊपर चरण 5 में प्रदर्शन करने के बाद मिलता है। "डिस्कपार्ट ने ड्राइव अक्षर को सफलतापूर्वक हटा दिया, लेकिन परिवर्तनों को प्रभावी होने से पहले आपके कंप्यूटर को रिबूट करना होगा। डिस्कपार्ट ने वॉल्यूम को सफलतापूर्वक हटा दिया।" मैंने एक हटाने योग्य डिवाइस (जैसे एसडी कार्ड रीडर या यूएसबी फ्लैश ड्राइव) के बजाय एक हटाने योग्य मीडिया (एसडी कार्ड) पर इसका उपयोग करने की कोशिश की। पाठक पर एलईडी संकेतक बंद नहीं हुआ, लेकिन यह जलाया गया (यानी यह चमकती बंद हो गया क्योंकि यह कभी-कभी ऐसा होता है जब एसडी कार्ड केवल इसमें बैठता है)। तो मुझे लगता है कि तब इसे हटाना सुरक्षित है।
समीर

3
कमांड को पूर्ववत करने के लिए remove all dismountआपको कमांड का उपयोग करना होगा mountvol। अधिक जानकारी के लिए यहां और यहां भी टेक्नेट लाइब्रेरी देखें । आपके द्वारा उपयोग किए जाने के बाद आपको mountvolपरिवर्तनों को प्रभावी करने के लिए रीबूट करना होगा। वैकल्पिक रूप से, आप नए ड्राइव अक्षर को असाइन करने के लिए डिस्क प्रबंधन का भी उपयोग कर सकते हैं।
समीर

17

इस प्रश्न का उत्तर देने के लिए ... आपको तृतीय पक्ष सामग्री की आवश्यकता नहीं है।

कमांड लाइन (या पॉवरशेल) के साथ, मैं उपयोगकर्ता इनपुट के बिना स्वचालित रूप से हार्डवेयर को सुरक्षित रूप से हटाने के लिए विंडोज को कैसे बता सकता हूं?

इस आदेश RunDll32.exe shell32.dll,Control_RunDLL hotplug.dll को चलाएँ: सुरक्षित रूप से निकालें हार्डवेयर संवाद बॉक्स लाने के लिए:

सुरक्षित रूप से निकालें हार्डवेयर संवाद


4
क्या आप बता सकते हैं कि क्या करता है?
कनाडाई ल्यूक पुनर्जीवित मेनाका

1
USB के लिए सुरक्षित निष्कासन का शुभारंभ
चरमोत्कर्ष

11
तब भी मुझे कुछ क्लिक करने की आवश्यकता नहीं होगी?
कनाडाई ल्यूक ने 14

2
यह बहुत अच्छा है, लेकिन दुर्भाग्य से स्वचालन उद्देश्यों के लिए, यह करण के किसी भी सुझाव से बेहतर नहीं है।
Synetech

1
नियंत्रण hotplug.dll , अर्थात, बिना _RunDLL विस्टा SP2 पर मेरे लिए काम नहीं करता है
user66001

2

चूंकि यह एक बैकअप डिवाइस है, इसका मतलब है कि यह एक स्टोरेज डिवाइस है, इसलिए इसे पावरशेल से किया जा सकता है - बस एक्स को प्रतिस्थापित करें: अपने वांछित ड्राइव के साथ:

$driveEject = New-Object -comObject Shell.Application
$driveEject.Namespace(17).ParseName("X:").InvokeVerb("Eject")

1
मैं पर इस समाधान देखा है serverfault के साथ-साथ पर stackoverflow , लेकिन मैं इसे अपने बाहरी HDD के साथ काम कर प्राप्त करने में असमर्थ होने लगते हैं। कोई त्रुटि-संदेश नहीं है, यह कुछ भी नहीं करता है। व्यवस्थापक के रूप में पॉवरशेल चलाने के रूप में उपयोग करना "F:"या "F:\"कोई फर्क नहीं पड़ा। टास्कबार के माध्यम से सुरक्षित रूप से काम कर रहा है। मैं क्या गलत कर रहा हूं?
फ्लोलिलो

वास्तविक पॉवरशेल कमांड किसी भी त्रुटि (लाल पाठ) संदेश को वापस नहीं करता है?
ओवरमाइंड

यदि मैं F: \ को अनप्लग करता हूं और कमांड चलाता हूं, तो मुझे एक त्रुटि मिलती है कि मैं एक विधि नहीं चला सकता हूं जो NULL है (संदेश जर्मन में है, इसलिए मुझे पूरी तरह से यकीन नहीं है कि मुझे अनुवाद सही मिला है)। यदि मैं F: \ प्लग इन के साथ कमांड चलाता हूं, तो कोई संदेश नहीं है - $errorखाली भी है। मैं WinS Pro पर PowerShell 5.1 को वैसे ही चला रहा हूं। F: \ एक बाहरी USB HDD है जिसमें केवल एक विभाजन है (F :) - इसे बिना किसी समस्या के टास्कबार के माध्यम से सुरक्षित रूप से हटाया जा सकता है।
फ्लोलिलो

दिलचस्प है, जब मैं USB-pendrive (एक विभाजन के साथ भी) का उपयोग करता हूं, तो यह त्रुटिपूर्ण रूप से काम करता है। दोनों ने Better performanceअपनी निष्कासन नीति में सक्षम किया है, हालांकि इससे कोई फर्क नहीं पड़ता है (USB पेनड्राइव दोनों सेटिंग्स के साथ काम करता है, USB HDD नहीं करता है)। मेरे पास एक दूसरा पेनड्राइव है जो पॉवरशेल-कमांड के माध्यम से निकाला जाना पसंद नहीं करता है। कार्य करना: जेटफ्लाश 700 (16 जीबी, एफएटी 32) को पार करना , काम नहीं करना: सीगेट विस्तार पोर्टेबल 2015 (4 टीबी, एनटीएफएस), सैंडिस्क एक्सट्रीम (32 जीबी, एक्सफैट)। सभी ने एक ही यूएसबी-पोर्ट पर कई बार कोशिश की। फिर, टास्कबार-आइकन के माध्यम से सुरक्षित रूप से निकालना हमेशा काम करता है।
फ्लोलिलो

@flolilolilo मुझे एक ही समस्या है ...
प्लोनी

1

इस 7tutorials- लेख के अनुसार , आप "त्वरित निष्कासन" सेट करके सुरक्षित अनप्लगिंग को सक्षम कर सकते हैं। यह प्रति उपकरण कैशिंग लिखना बंद कर देगा , जिसमें से प्रदर्शन प्रभाव "नगण्य" है? विंडोज 7 के लिए उनके कदम नीचे हैं।

( संपादित करें ) इस हाउटोगेक-लेख के अनुसार , "त्वरित निष्कासन" सेट करते समय आपको अभी भी सावधान रहना चाहिए। यह लेखन कैशिंग को अक्षम कर देगा, और इस प्रकार अधिकांश समस्याओं को रोक देगा। लेकिन स्पष्ट रूप से निकाले जाने / हटाए जाने तक कुछ कार्यक्रम (सामान) अभी भी 'लाइव' लिख सकते हैं। ( संपादन का अंत )

कदम:

  • USB ड्राइव में डिवाइस में प्लग
  • डिवाइस मैनेजर खोलें
  • डिस्क ड्राइव का विस्तार करें
  • अपने हटाने योग्य ड्राइव पर राइट-क्लिक करें, जैसे "USB2.0 फ्लैश डिस्क USB डिवाइस।"
  • गुण चुनें
  • नीतियां टैब पर क्लिक करें
  • "त्वरित निष्कासन" सक्षम करें ("बेहतर प्रदर्शन अक्षम करें")

( संपादित करें ) ध्यान दें कि सेटिंग बदलने के लिए आपको डिवाइस मैनेजर का उपयोग करना होगा, यह फ़ाइल एक्सप्लोरर से नहीं किया जा सकता है। (कम से कम मेरे विंडोज 10 संस्करण में।)


1
यह बैकअप ड्राइव के लिए एक महान विचार की तरह लगता है! ऐसा लगता है कि यह डिफ़ॉल्ट सेटिंग है (कम से कम मेरे पर Seagate BUP Slim BK USB External Drive)।
अरवो बोवेन 20

1
राइट-कैश सक्षम डिवाइस त्वरित-हटाने योग्य नहीं हैं।
Overmind

1
इसे विश्व स्तर पर स्थापित करना संभव है ताकि यह भविष्य में संलग्न किसी भी और सभी USB स्टोरेज पर लागू हो?
डकमास्ट्रो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.