How to eject usb drive in windows 8+?
W systemach Windows 8+ powstał dość męczący problem związany z
„wysunięciem dysku” z napędu. Dotyczy to zwłaszcza kart pamięci, USB oraz wirtualnych
napędów CD, które to nowsze Windowsy montują automatycznie przy podglądzie
pliku ISO.
W starszych
Windowsach (do 7) z problemem można sobie było poradzić na różne sposoby, ale
moim ulubionym było wykorzystanie Daemon Tools.
Za pomocą
polecenia: DTLite.exe –unmount_ALL można
było „wysunąć” wszystkie napędy wirtualne oraz USB.
Głównie
właśnie o ten typ napędów chodzi.Napędy fizyczne CD/DVD/BD 1 czy 2, można
śmiało wysunąć przyciskiem (może nawet i bezpieczniej niż programowo, bo nie
walnie się kolanem w szufladę).
Ale jak zamknąć szybko 5, 6, a może 10 napędów USB czy virtual CD?
Należy
nieustannie klikać w Bezpieczne usuwanie sprzętu i wysuwanie
nośników (2 kliknięcia na jedno odłączenie dysku + zbędne ruchy
myszką), albo narazić się na potencjalną utratę danych i odłączać dyski (tylko
USB i karty) wyjmując je po prostu z gniazd (ryzyko utraty danych/uszkodzenia
nośnika przy opóźnionym zapisie i skanowaniu AV).
Zatem jak wysunąć napęd programowo (CMD) w Windows 8 i Windows 10?
Jak szybko i bezpiecznie wysunąć (odmontować) napędy wirtualne lub / i USB w Windows 8 /10?
Dla tych, którzy podobnie jak ja włączają dużo urządzeń na raz kilka
PenDrivów czy kart SD, jakiś smartfon, może też pliki ISO montowane do napędu
wirtualnego (wygodne archiwum) jest ten artykuł i zawarte w nim rozwiązanie w
postaci programu w Jscript osadzonego w pliku wsadowym CMD (2 wersje) oraz
czystego visual basic do testowania typów posiadanych napędów.
Poniższy program testuje wskazany napęd do jakiego typu należy (jak
jest widziany przez system).
Po
uruchomieniu należy wpisać w pole DialogBoxu literę napędu (samą literę bez
dwukropka i slasza)i po zatwierdzeniu otrzymamy info o wskazanym napędzie.
Kolejny program DriveTypeEject.cmd
umożliwia zbiorowe wyłączanie napędów właśnie wg jego typu. Bardzo dobrze
nadaje się do wysuwania dysków USB (Peny, karty, telefony na kabelku) typ=1
- removable drive , a nieco gorzej do napędów CD/DVD typ=4
CDdrive z uwagi na brak opcji wykluczenia pojedynczego napędu. Napędy
wirtualne i fizyczne traktowane są tu jednakowo i jeżeli uruchomi się ten
program do usunięcia wirtualnych napędów to wysunie się też ten fizyczny (także
wtedy, gdy nie było tam nośnika!).
* Domyślny
typ ustawiony jest na 4 – CDdrive i można go zmienić na właściwy np. 1 – linia 16 kodu.
Odmianą powyższego programu jest prezentowany poniżej DriveLetterEject.cmd który z kolei
odłącza (wysuwa) dyski po wskazaniu litery napędu (np: g:\ lub J:\ lub X:\ lub r:\ …..). Ten program z kolei nie posiada
funkcjonalności łączenia kilku nazw napędów do jednoczesnego odłączenia. W tym
programie można również zmienić domyślny dysk na wybrany do wysunięcia (tylko jeden dysk jednocześnie ! - jedna litera z dwukropkiem i slaszem).
Aby sterowanie odłączaniem dysków było łatwe, oba powyższe programy (DriveTypeEject.cmd i DriveLetterEject.cmd) umożliwiają
wywołanie z parametrem. Można to uczynić np. wprost ze skrótu do programu
umieszczając po nazwie pliku parametr w postaci cyfry – dla typu napędów, lub
litery (przy wywołaniu z parametrem odmiennie tylko sama litera bez slasza i
dwukropka!):
”C:\DosWin\Batch\ DriveTypeEject.cmd”
1 lub ”C:\DosWin\Batch\ DriveLetterEject.cmd” h
Wygodniejszym
jednak rozwiązaniem, jest umieszczenie
kolejno potrzebnych poleceń poprzedzonych komendą call w innym pliku wsadowym CMD
(lub kilku różnych) co zapewni daleko idącą funkcjonalność. Przykładowy plik
może wyglądać jak prezentowany poniżej:
albo taka oto mieszanka:
Jeszcze dalej idącym ułatwieniem jest umieszczenie polecenia wywołującego ten plik wprost w menu kontekstowym prawokliku - Windows Shell Context Menu (dysków, plików i folderów) PPM - driveEject.reg :
Można usunąć z tego pliku wpisy \Folder\ i \*\ odpowiedzialne za wyświetlenie menu dla plików i dla folderów – będzie widoczne tylko dla dysków.
Wszystkie prezentowane w tym artykule programy, można pobrać w pliku:
Powodzenia :-)