1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

Как проверить сущестувет ли файл?

Тема в разделе "Lotus - Программирование", создана пользователем 11BOSS11, 7 дек 2010.

  1. 11BOSS11

    11BOSS11 Гость

    Репутация:
    0
    каким оператором можно проверить существует ли файл на компютере?
    например файл : "C:\temp\test.txt"
    нужно в итоге иметь ответ тру (если есть такой) или фолсе(если нету)..
    в скриптовнике чтото не наблюдаю.. :angry2:
     
  2. nvyush

    nvyush Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
  3. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Репутация:
    0
    Регистрация:
    6 ноя 2007
    Сообщения:
    3.185
    Симпатии:
    22
    11BOSS11
    открыть его на чтение - проверишь существует ли он
    открыть его на запись - проверишь свободен ли он

    ну и обработчик ошибок
     
  4. vitfil

    vitfil IT-интегратор

    Репутация:
    0
    Регистрация:
    2 апр 2004
    Сообщения:
    2.062
    Симпатии:
    0
    ToxaRat
    Открыть его на чтение и получить исключение потому как нет прав.
    Открыть его на запись... см.выше.
     
  5. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Репутация:
    0
    Регистрация:
    6 ноя 2007
    Сообщения:
    3.185
    Симпатии:
    22
    если у агента 1й тип секюрити то никогда и не узнаешь если ли файл
     
  6. Omh

    Omh Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
  7. nvyush

    nvyush Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Код:
    Function IsFileExist(filePath As String) As Boolean
    IsFileExist = (Dir$(filePath) <> "")
    End Function
     
  8. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Репутация:
    0
    Регистрация:
    6 ноя 2007
    Сообщения:
    3.185
    Симпатии:
    22
    nvy
    не, дир так не пашет, там сначала тип и путь указываем а потом проходим поэлементно
     
  9. 11BOSS11

    11BOSS11 Гость

    Репутация:
    0
    ф-я работает :what?:
    СпасибКо всем!
    ээ...у мну мозила слитела чтото.. немогу поблагодарить никого.. разберусь,исправлюсь!=))
     
  10. nvyush

    nvyush Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    ToxaRat
    Сам не проверял, верю справке:
     
  11. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Репутация:
    0
    Регистрация:
    6 ноя 2007
    Сообщения:
    3.185
    Симпатии:
    22
    Код:
    Function IsFileOrFolderExist(FilePath As String, Filename As String, TypeSearch As Integer) As Boolean ' узнаём что файл существует
    IsFileOrFolderExist=False
    On Error Goto EDLB
    fileNameArray = Dir$(FilePath, TypeSearch)
    Do While fileNameArray <> ""
    If fileNameArray = Filename Then IsFileOrFolderExist=True :Exit Function
    fileNameArray = Dir$()
    Loop
    Exit Function
    EDLB:
    Call MylogError({IsFileOrFolderExist, FilePath=} & FilePath & {, Filename=} & Filename & {, TypeSearch=} & TypeSearch)
    Err=0
    Exit Function
    End Function
     
  12. nvyush

    nvyush Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    ToxaRat
    Проверил работоспособность предложенной в посте http://codeby.net/ipb.html?s=&sh...st&p=194160 функции. Очень даже работает. Можно, конечно, добавить Dir-овский параметр attributeMask и обработку ошибок, но это на любителя. А перебирать все файлы, КМК, будет дольше.
     
  13. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Репутация:
    0
    Регистрация:
    6 ноя 2007
    Сообщения:
    3.185
    Симпатии:
    22
    и даже не отбивает ошибку если корневой директории нету?
     
  14. nvyush

    nvyush Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Разумеется, отбивает. Я же указал:
    Я привёл только заготовку, вот более приближенный к рабочему вариант:
    Код:
    Function IsFileExist(filePath As String, attributeMask As Integer) As Boolean
    On Error Goto ErrorHandler
    IsFileExist = (Dir$(filePath, attributeMask) <> "")
    Exit Function
    ErrorHandler:
    IsFileExist = False
    Resume Next
    End Function
     
  15. Kee_Keekkenen

    Kee_Keekkenen Well-Known Member

    Репутация:
    0
    Регистрация:
    5 сен 2006
    Сообщения:
    639
    Симпатии:
    6
    мне мое ближе
    Код:
    Function checkFile(filePath As String) As Boolean	
    Dim attr As Integer
    try:
    On Error Goto catch			
    attr = Getfileattr(filePath)		
    If attr >= 32 And attr < 48 Then checkFile = True
    Exit Function 
    catch:		
    Resume Next
    End Function
     
Загрузка...
Похожие Темы - Как проверить сущестувет
  1. run4w4y
    Ответов:
    6
    Просмотров:
    307
  2. Shandrik
    Ответов:
    13
    Просмотров:
    851
  3. rownong
    Ответов:
    0
    Просмотров:
    717
  4. diga
    Ответов:
    25
    Просмотров:
    4.392
  5. Истребитель
    Ответов:
    22
    Просмотров:
    16.995

Поделиться этой страницей