Функция Удаляет указанные файлы.
УдалитьФайлы(<Путь>, <Маска>)
Параметры: <Путь> (обязательный) Тип: Строка. Путь к удаляемым файлам.
<Маска> (необязательный) Тип: Строка. Маска для выбора удаляемых файлов. В строке маски допускается использование символа "*" (звездочка), обозначающего любое число произвольных символов, и "?" (знак вопроса), обозначающего один произвольный символ.
!!! - Если <Маска> не указана, то удаляются все файлы и каталог <Путь>.
Для удаления одного файла, можно передать его полное имя через первый параметр, либо передать путь к нему через первый параметр, а его короткое имя - через второй.
Удаление файлов производится, если в указанных файлах не установлено свойство "Только чтение". В противном случае возникает сообщение об ошибке.
Допускается использование схем http, https и ftp для адресации файлов. При использовании этих схем в адресах необходимо указывать прямые слеши '/', а не обратные '\'.
Код 1C v 8.х
Попытка
УдалитьФайлы( "C:\temp\Works" ) ;
Исключение
Сообщить( ОписаниеОшибки( ) ) ;
КонецПопытки ;
Код 1C v 8.2 УП
Попытка
УдалитьФайлы( КаталогВыгрузкиДанных, "*.csv" ) ;
Исключение
#Если Клиент Тогда
Сообщить( ОписаниеОшибки( ) ) ;
#КонецЕсли
КонецПопытки ;
В 7-рке для удаления используется
Код 1C v 7.x ФС. УдалитьКаталог( Стр) ;
ФС. УдалитьФайл( Стр) ;
Как удалить каталог с файлами?
Код 1C v 7.x // пример привел smaharbA
//Данный пример не работает, если в папке есть файлы с атрибутами только для чтения и системные
Функция Рекурсия(Знач Путь,Сп)
Перем А;
ФСО=СоздатьОбъект("ФС");
Стр=ФСО.НайтиПервыйФайл(Путь+"\*.*");
Пока ПустоеЗначение(Стр)=0 Цикл
Если (Стр<>"..") и (Стр<>".") Тогда
Представление="";
Для к=1 По СтрЧислоВхождений(Путь+"\"+Стр,"\") Цикл
Представление=Представление+"\";
КонецЦикла;
Сп.ДобавитьЗначение(Путь+"\"+Стр,Представление+Стр);
ФСО.АтрибутыФайла(Путь+"\"+Стр,,А);
Если Сред(А,4,1)="1" Тогда
Рекурсия(Путь+"\"+Стр,Сп);
КонецЕсли;
КонецЕсли;
Стр=ФСО.НайтиСледующийФайл();
КонецЦикла;
КонецФункции // Рекурсия
//*******************************************
Процедура Сформировать()
Перем Каталог,А;
Если ФС.ВыбратьКаталог(Каталог,"")=0 Тогда
Возврат;
КонецЕсли;
Сп=СоздатьОбъект("СписокЗначений");
Рекурсия(Каталог,Сп);
Сп.СортироватьПоПредставлению(0);
Для к=1 По Сп.РазмерСписка() Цикл
Стр=Сп.ПолучитьЗначение(к);
ФС.АтрибутыФайла(Стр,,А);
Если Сред(А,4,1)="1" Тогда
ФС.УдалитьКаталог(Стр);
Иначе
ФС.УдалитьФайл(Стр);
КонецЕсли;
КонецЦикла;
ФС.УстТекКаталог(Каталог+"\..\");
ФС.УдалитьКаталог(Каталог);
КонецПроцедуры
Код 1C v 7.x
Функция Перекодировка(Стр="" ,Кодировка="windows-1251" )
Стрим = СоздатьОбъект( "Adodb.Stream" ) ;
Стрим. Type = 2 ;
Стрим. Mode= 3 ;
Стрим. charset= "iso-8859-5" ;
Стрим. Open( ) ;
Стрим. WriteText( Стр) ;
Стрим. Position= 0 ;
Стрим. charset= Кодировка;
Рез= Стрим. ReadText( - 1 ) ;
Стрим. Close( ) ;
Возврат Рез;
КонецФункции
Стрим = СоздатьОбъект( "Adodb.Stream" ) ;
Стрим. charset= "iso-8859-5" ;
Стрим. Open( ) ;
Стрим. LoadFromFile( "c:\WORK\H R\PSHRR848.C" ) ;
Стрим. Position= 0 ;
Стрим2 = СоздатьОбъект( "Adodb.Stream" ) ;
Стрим2 . charset= "windows-1251" ;
Стрим2 . Open( ) ;
Стрим2 . WriteText( Стрим. ReadText) ;
Стрим2 . Position= 0 ;
Рез= Стрим2 . ReadText( - 1 ) ;
Стрим. Close( ) ;
Стрим2 . Close( ) ;
Message( "2 = " + Рез) ;
Message( "StrLen(Рез) = " + StrLen( Рез) ) ;
Стрим = СоздатьОбъект( "Adodb.Stream" ) ;
Стрим. charset= "iso-8859-5" ;
Стрим. Open( ) ;
Стрим. LoadFromFile( "c:\WORK\H R\PSHRR848.C" ) ;
Рез= Стрим. ReadText( ) ;
Код 1C v 7.x //Код где, ни единого объекта. smaharbA
Процедура Сформировать()
Стр="Нажрися вотки и закуси ка селедкой! ";
База=""+_GetPerformanceCounter()+".txt";
УТФ=КаталогВременныхФайлов()+"УТФ"+База;
ИСО=КаталогВременныхФайлов()+"ИСО"+База;
ДОС=КаталогВременныхФайлов()+"ДОС"+База;
ОбратноДОС=КаталогВременныхФайлов()+"ОбратноДОС"+База;
Текст=СоздатьОбъект("Текст");
Текст.КодоваяСтраница(1);
Для Сч=1 По 10 Цикл
Текст.ДобавитьСтроку(Стр);
КонецЦикла;
Текст.Записать(ДОС);
Текст.Очистить();
КомандаСистемы("chcp 28595 > nul & echo off 2> """+ИСО+""" & for /f ""delims="" %i in ("+ДОС+") do (chcp 28595|>> """+ИСО+""" echo %i)");
// КомандаСистемы("cmd /c ""chcp 28595|> """+ИСО+""" echo "+Стр+"""");
Текст.КодоваяСтраница(0);
Текст.ДобавитьСтроку(Симв(255)+Симв(254));
Текст.Записать(УТФ);
КомандаСистемы("chcp 28595|> nul echo & cmd /u /c type """+ИСО+""" >> """+УТФ+"""");
КомандаСистемы("type """+УТФ+""" > """+ОбратноДОС+"""");
Текст.КодоваяСтраница(1);
Текст.Открыть(ОбратноДОС);
Для Сч=1 По Текст.КоличествоСтрок() Цикл
Сообщить(Текст.ПолучитьСтроку(Сч));
КонецЦикла;
КонецПроцедуры
Код 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
Код 1C v 8.х
Функция ping(IPАдрес)
objShell = Новый COMОбъект( "WScript.Shell" ) ;
objScriptExec = objShell. Exec( "ping.exe -n 1 " + IPАдрес) ;
strPingResults = НРег( objScriptExec. StdOut. ReadAll( ) ) ;
Возврат Найти( strPingResults, "ttl=" ) ;
КонецФункции
ответ = ping( "80.252.128.110" ) ;
Сообщить( ? ( ответ > 0 , "Есть соединение" , "Нет соединения" ) ) ;
Код 1C v 7.x //пример от smaharbA
Адрес=СтрЗаменить(АдресСМССервера,"//","" "");
Адрес=СтрЗаменить(Адрес,"/","" "");
Адрес=СтрЗаменить(Адрес,"?","" "");
ШелСкрипт=СоздатьОбъект("WScript.Shell");
Если ШелСкрипт.Run("%comspec% /c ping -n 1 "+СтрПолучитьСтроку(Адрес,2),0,-1)<>0 Тогда
Сообщить("Соединения нет");
КонецЕсли;