![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Возникла задачка , программным путем, удалить файл с атрибутом - только для чтения.
Возлажил надежды на процедуру - Winexec(pchar('attrib -h -s -a -r '+sdir+'\file.html'), 0); , но возникла следующая проблемка : Процедура игнорирует файл с кириллицей в названии, если в его имени встречается символ пробела. К примеру следующий файл удаляется без колебаний : Winexec(pchar('attrib -h -s -a -r '+sdir+'\Видение_нагуаля.html'), 0); DeleteFile(pansichar(sPath+'Видение_нагуаля.html') ); , в то время, как этот ни в какую... Winexec(pchar('attrib -h -s -a -r '+sdir+'\Видение нагуаля.html'), 0); DeleteFile(pansichar(sPath+'Видение нагуаля.html') ); Помогите пожалуйста разобраться.. |
#2
|
|||
|
|||
![]() См в сторону GetFileAttributes/SetFileAttributes.
1. Получаешь атрибуты файла. 2. Если есть атрибут "только для чтения" - снимаешь его. Если не удалось снять, то возможно файл на CD - все равно фиг удалишь. 3. Удаляешь файл. А в твоем коде - файл с пробелом в имени (даже если название только из англицких буквиц) надо в двойные кавычки закрывать. |
#3
|
|||
|
|||
![]() Большое спасибо Imikle, все оказалось елементарно !
|