Nun-Nun
27-10-2011, 21:22
Есть такая задача: нужно открыть привод с помощью имеющегося vbs-скрипта (скрипт уже есть), корректно убить процесс wscript.exe (т.к. сам он не выгрузится, а при попытке запустить его второй раз почему-то нормально не работает), закрыть привод с помощью того же имеющегося vbs-скрипта и снова корректно убить процесс wscript.exe. Пробовал экспериментировать, но так ничего и не добился. В чём ошибка?
START "" %windir%\System32\wscript.exe Open_Close_Tray.vbs
Taskkill /im Wscript.exe /f
ECHO.
SET /p yesno="Для записи диска нажмите Y, для отказа - N или любую другую клавишу. Записать?"
if /i "%yesno%"=="Y" (GOTO :WRITEDISK) ELSE (GOTO :ENDWRITE)
GOTO :ENDWRITE
:WRITEDISK
START "" %windir%\System32\wscript.exe Open_Close_Tray.vbs
Taskkill /im Wscript.exe /f
ECHO.
ECHO Запущен процесс записи диска. Это займёт несколько минут...
ImgBurn.exe /START /ERASE YES /MODE BUILD YES /SRC /ROOTFOLDER YES "C:\Temp\My_Disk\" /VOLUMELABEL "MY_DISK" /DEST 1:0:0 /FILESYSTEM "ISO9660 + Joliet + UDF" /UDFREVISION "1.02" /SPEED 10x /COPIES 1 /EJECT YES /CLOSE
ECHO.
ECHO Запись диска завершена!
:ENDWRITE
А вот на всякий случай содержание VBS-скрипта:
Set objWMP = CreateObject("WMPlayer.OCX.7")
Set colCDs = objWMP.cdromCollection
colCDs.Item(0).Eject
MsgBox "Извлеките из привода исходный диск и вставьте чистый диск.",64,"Открыть\Закрыть DVD-привод"
colCDs.Item(0).Eject
P.S. Разумеется, параметры /DEST 1:0:0 , /SPEED 10x и т.п. в командной строке для ImgBurn-а в каждом конкретном случае могут отличаться - это понятно и здесь проблем нет.
START "" %windir%\System32\wscript.exe Open_Close_Tray.vbs
Taskkill /im Wscript.exe /f
ECHO.
SET /p yesno="Для записи диска нажмите Y, для отказа - N или любую другую клавишу. Записать?"
if /i "%yesno%"=="Y" (GOTO :WRITEDISK) ELSE (GOTO :ENDWRITE)
GOTO :ENDWRITE
:WRITEDISK
START "" %windir%\System32\wscript.exe Open_Close_Tray.vbs
Taskkill /im Wscript.exe /f
ECHO.
ECHO Запущен процесс записи диска. Это займёт несколько минут...
ImgBurn.exe /START /ERASE YES /MODE BUILD YES /SRC /ROOTFOLDER YES "C:\Temp\My_Disk\" /VOLUMELABEL "MY_DISK" /DEST 1:0:0 /FILESYSTEM "ISO9660 + Joliet + UDF" /UDFREVISION "1.02" /SPEED 10x /COPIES 1 /EJECT YES /CLOSE
ECHO.
ECHO Запись диска завершена!
:ENDWRITE
А вот на всякий случай содержание VBS-скрипта:
Set objWMP = CreateObject("WMPlayer.OCX.7")
Set colCDs = objWMP.cdromCollection
colCDs.Item(0).Eject
MsgBox "Извлеките из привода исходный диск и вставьте чистый диск.",64,"Открыть\Закрыть DVD-привод"
colCDs.Item(0).Eject
P.S. Разумеется, параметры /DEST 1:0:0 , /SPEED 10x и т.п. в командной строке для ImgBurn-а в каждом конкретном случае могут отличаться - это понятно и здесь проблем нет.