Запись СД из 1С(без ВК и других программ, проверено на ХР/2003) Код 1C v 7.x
Процедура Сформировать(ДискДляЗаписи="E:\" ,АвтоИзвлечениеСД=0,АвтоЗакрытиеМастера=1)
Перем Имя, Каталог;
scr= СоздатьОбъект( "MSScriptControl.ScriptControl" ) ;
scr. language= "javascript" ;
shell= СоздатьОбъект( "Shell.Application" ) ;
scr. AddObject( "Shell" , shell) ;
ИмяСлужбы= "ImapiService" ;
Если Shell. CanStartStopService( ИмяСлужбы) = 0 Тогда
Предупреждение( "Вам недозволено записывать диски СД!" , 5 ) ;
Возврат ;
КонецЕсли ;
scr. Eval( "Shell.ServiceStart('" + ИмяСлужбы+ "',true)" ) ;
РасположениеФайла( Каталог, Имя) ;
Если ФС. ВыбратьФайл( 0 , Имя, Каталог, "Выбирите файл для записи" , "Все файлы|*.*" , "*" ) = 0 Тогда
Возврат ;
КонецЕсли ;
fso= СоздатьОбъект( "Scripting.FileSystemObject" ) ;
wshshell= СоздатьОбъект( "WScript.Shell" ) ;
КаталогДляЗаписи= wshshell. regread( "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\CD Burning" ) ;
fso. CopyFile( Каталог+ Имя, КаталогДляЗаписи+ "\" + Имя, - 1 ) ;
ДискДляЗаписиNS= shell. NameSpace( ДискДляЗаписи) ;
wshshell. regwrite( "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\CD Burning\Auto Eject" , АвтоИзвлечениеСД, "REG_DWORD" ) ;
wshshell. regwrite( "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\CD Burning\Auto Close" , АвтоЗакрытиеМастера, "REG_DWORD" ) ;
scr. AddObject( "Verbs" , ДискДляЗаписиNS. items( ) . item( ) . verbs( ) ) ;
e= scr. Eval( "new Enumerator(Verbs)" ) ;
Пока e. atEnd( 0 ) = 0 Цикл
Если Найти( Нрег( e. item( 0 ) . name) , "записать файлы на компакт-диск" ) > 0 Тогда
e. item( 0 ) . doit( ) ;
Пока wshshell. appactivate( "Мастер записи компакт-дисков" ) = 0 Цикл
КонецЦикла ;
wshshell. sendkeys( "{ENTER}" )
КонецЕсли ;
e. moveNext( 0 ) ;
КонецЦикла ;
Пока wshshell. appactivate( "Мастер записи компакт-дисков" ) = - 1 Цикл
ВвестиСтроку( "" , "Пауза" , 1 , 0 , 1 ) ;
КонецЦикла ;
КонецПроцедуры
Конечно метод дубовенький, расчитан тока на русскую версию, но можно и допеределать.
Не стал писать код определения пишущего сидирома и возможности записи (хотя на отсутствие диска или невозможность записать ОС сама укажет)...
Автор: smaharbA
А через Nero можно записать так:
Код DOS Batch File
"C:\Program Files\Ahead\Nero\NeroCmd.exe" --no_user_interaction --write --real --iso Archive_1C --drivename M --force_erase_cdrw --dvd --dvd_high_compatibility --close_session --verify E:\Full_Archive_1C\*.* >H:\BackUp\Log\write.log
Опубликовано на сайте: https://HelpF.pro Прямая ссылка: https://HelpF.pro/faq/view/469.html