Я видел несколько исполняемых файлов / утилит, которые делают это, и многие форумы, которые говорят, что это невозможно. Но есть ли какая-нибудь команда DOS, на которую я могу положиться в типичной установке XP?
5 ответов
Кажется, нет никакого способа использовать rundll или существующий ранее исполняемый файл.
Если у вас установлен хост скриптов Windows, возможно, поможет следующее (не проверено, скопировано с другого форума)
Set oWMP = CreateObject("WMPlayer.OCX.7")
Set colCDROMs = oWMP.cdromCollection
colCDROMs.Item(0).Eject
Измените (0), если у вас есть несколько дисков.
Я могу сделать лучше, чем это ... Вставьте это в пакетный файл с именем "eject.bat":
for /F "usebackq tokens=6" %%i in (`vol %1:`) do if "" neq "%%i" rsm eject /pf%%i
В этот пакетный файл можно передать любую букву диска, чтобы можно было извлечь любой диск. Вы даже можете извлечь устройства, такие как iPod и USB-накопители.
Для этого есть вызов Windows API , но, к сожалению, это не встроенная команда.
Существует инструмент командной строки, который вы можете скачать, но он сделает эту работу.
Исполняемые файлы делают это с помощью API mciSendCommand
. Я не думаю, что это может быть сделано, хотя партия пока.
Некро. Параметр ярлыка Nir Command «nircmdc.exe cdrom open D:», где D - ваш оптический привод. Измените значок ярлыка на что-то подходящее для извлечения.