Tworzę skrypt kopii zapasowej dla systemu Windows 7, a ostatnią czynnością, którą chcę wykonać, jest bezpieczne „usunięcie” dysku USB, na którym jest tworzona kopia zapasowa. Mam wrażenie, że podłączenie napędu do tego samego portu USB przez cały czas spowoduje zachowanie tego samego DEV_ID (popraw mnie, jeśli się mylę). W jaki sposób mogę powiedzieć systemowi Windows, aby w linii poleceń (lub PowerShell) bezpiecznie usuwał sprzęt automatycznie bez udziału użytkownika?
Świetnie byłoby też znać inne systemy operacyjne, które mogą to zrobić.
windows
command-line
batch-file
Kanadyjczyk Luke REINSTATE MONICA
źródło
źródło
Odpowiedzi:
RemoveDrive dobrze mi kiedyś służył
źródło
Oprócz wspomnianego w drugiej odpowiedzi narzędzia RemoveDrive firmy Uwe Sieber , istnieje wiele narzędzi, które mogą to osiągnąć. Oto krótka lista:
USB Disk Ejector jest przede wszystkim narzędziem opartym na graficznym interfejsie użytkownika, ale można go równie dobrze używać z wiersza poleceń, aby wysunąć dysk, z którego działa program, lub dowolny dysk, określając literę dysku / (częściową) nazwę dysku / punkt montowania itp. Darmowe i otwarte oprogramowanie.
Bezpieczne usuwanie USB nie jest darmowe, ale jest narzędziem do usuwania dysku na sterydach, z wieloma zaawansowanymi funkcjami , w tym oczywiście obsługą wiersza poleceń . Zentimo jest jego większym bratem, który ma jeszcze więcej funkcji .
DevCon firmy Microsoft to wersja Menedżera urządzeń w wierszu polecenia. Oprócz oryginalnej wersji ery Win2K / XP dostępnej na stronie KB, dostępne są nowsze wersje (zarówno 32-, jak i 64-bitowe) z różnych źródeł MS, jak wspomniano w tym artykule Gdzie znaleźć DevCon.exe . DevCon.exe dla systemu Windows 7 (i prawdopodobnie również Windows 8) można znaleźć w odpowiednim zestawie sterowników systemu Windows (WDK) , jak wspomniano w tym wątku (który zawiera również łącza pobierania do wyodrębnionego pliku wykonywalnego ).
devcon status *
lubdevcon hwids *
lubdevcon findall =usb
(w przypadku bardziej zwartej listy) powinien podać identyfikator sprzętowy urządzenia. Na przykład:Następnie możesz spróbować usunąć urządzenie za pomocą
devcon remove "USB\VID_0781&PID_7113"
(dozwolone są symbole wieloznaczne, takie jak *, ale bądź ostrożny, bo możesz w końcu usunąć coś zupełnie innego!)Ktoś zapytał: „ Czy istnieje polecenie DOS (cmd.exe z Win7), aby wysunąć napęd z kciuka? ”, Który został niestety zamknięty jako duplikat tego wątku. Pytanie dotyczyło jednak wysuwania dysków USB w konsoli odzyskiwania systemu Windows / wierszu polecenia odzyskiwania systemu , więc jest mało prawdopodobne, aby którekolwiek z powyższych narzędzi pomogło. W takiej sytuacji powinna działać następująca metoda wykorzystująca Diskpart :
Wpisz
diskpart
i poczekaj na monit diskpart (DISKPART>
)Rodzaj
list volume
Zanotuj ostrożnie numer woluminu napędu USB (w celu uzyskania pomocy użyj wymienionych właściwości, takich jak litera napędu, etykieta, typ i rozmiar)
Wpisz
select volume <number>
, gdzie<number>
jest numer woluminu wymieniony powyżejRodzaj
remove all dismount
Wpisz,
exit
aby wyjść z DiskpartTeraz powinieneś być w stanie bezpiecznie usunąć dysk USB bez obawy o utratę danych.
źródło
Diskpart
w normalnym trybie Windows. Taką wiadomość otrzymuję po wykonaniu kroku 5 powyżej. „Program DiskPart pomyślnie usunął literę dysku, ale komputer musi zostać ponownie uruchomiony przed wprowadzeniem zmian. Diskpart pomyślnie odinstalował wolumin”. Próbowałem użyć go na nośniku wymiennym (karcie SD), a nie na urządzeniu wymiennym (takim jak czytnik kart SD lub dysk flash USB). Wskaźnik LED na czytniku nie zgasł, ale pozostał zapalony (tzn. Przestał migać, co czasami się zdarza, gdy karta SD tylko w nim siedzi). Myślę więc, że można go bezpiecznie usunąć.remove all dismount
komendy należy użyćmountvol
komendy. Aby uzyskać więcej informacji, zobacz bibliotekę Technet tutaj i również tutaj . Po użyciumountvol
musisz ponownie uruchomić komputer, aby zmiany odniosły skutek. Alternatywnie można również użyć narzędzia Zarządzanie dyskami, aby przypisać nową literę dysku.Aby odpowiedzieć na to pytanie ... Nie potrzebujesz materiałów stron trzecich.
Uruchom to polecenie:
RunDll32.exe shell32.dll,Control_RunDLL hotplug.dll
aby wyświetlić okno dialogowe Bezpieczne usuwanie sprzętu:źródło
Ponieważ jest to urządzenie kopii zapasowej, oznacza to, że jest to urządzenie pamięci masowej, dlatego można to zrobić z poziomu PowerShell - wystarczy zastąpić X: żądaną literą dysku:
źródło
"F:"
lub"F:\"
nie robiło różnicy, podobnie jak uruchamianie PowerShell jako administrator. Działa bezpieczne usuwanie za pomocą paska zadań. Co ja robię źle?$error
będzie pusty. Nawiasem mówiąc, używam PowerShell 5.1 na Win10 Pro. F: \ to zewnętrzny dysk twardy USB, który ma tylko jedną partycję (F :) - bez problemu można go bezpiecznie usunąć za pomocą paska zadań.Better performance
w swoich zasadach usuwania, choć wydaje się, że to nie robi żadnej różnicy (pendrive USB działa z oboma ustawieniami, dysk twardy USB nie działa). Drugi pendrive, którego posiadam, również nie lubi być wysuwany za pomocą polecenia PowerShell. Działa: Transcend JetFlash 700 (16 GB, FAT32), nie działa: Seagate Expansion Portable 2015 (4 TB, NTFS), Sandisk Extreme (32 GB, exFAT). Wszystkie wypróbowano wiele razy na tym samym porcie USB. Ponownie bezpieczne usuwanie za pomocą ikony paska zadań zawsze działa.Zgodnie z tym artykułem 7 samouczków możesz włączyć bezpieczne odłączanie, ustawiając opcję „Szybkie usuwanie”. Spowoduje to wyłączenie buforowania zapisu dla każdego urządzenia , którego wpływ na wydajność jest „znikomy”? Ich kroki dla Windows 7 są poniżej.
( Edytuj ) Zgodnie z tym artykułem Howtogeek , należy zachować ostrożność podczas ustawiania opcji „Szybkie usuwanie”. Spowoduje to wyłączenie buforowania zapisu, a tym samym zapobiegnie większości problemów. Ale niektóre programy mogą nadal pisać rzeczy „na żywo”, dopóki nie zostaną wyraźnie usunięte / usunięte. ( Koniec edycji )
Kroki:
( Edytuj ) Pamiętaj, że musisz zmienić ustawienia w Menedżerze urządzeń, nie można tego zrobić w Eksploratorze plików. (Przynajmniej w mojej wersji Windows 10).
źródło
Seagate BUP Slim BK USB External Drive
).