• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

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

  • Автор темы Автор темы 11BOSS11
  • Дата начала Дата начала
1

11BOSS11

каким оператором можно проверить существует ли файл на компютере?
например файл : "C:\temp\test.txt"
нужно в итоге иметь ответ тру (если есть такой) или фолсе(если нету)..
в скриптовнике чтото не наблюдаю.. :angry2:
 
11BOSS11
открыть его на чтение - проверишь существует ли он
открыть его на запись - проверишь свободен ли он

ну и обработчик ошибок
 
ToxaRat
Открыть его на чтение и получить исключение потому как нет прав.
Открыть его на запись... см.выше.
 
Код:
Function IsFileExist(filePath As String) As Boolean
IsFileExist = (Dir$(filePath) <> "")
End Function
 
nvy
не, дир так не пашет, там сначала тип и путь указываем а потом проходим поэлементно
 
ф-я работает :what?:
СпасибКо всем!
ээ...у мну мозила слитела чтото.. немогу поблагодарить никого.. разберусь,исправлюсь!=))
 
ToxaRat
Сам не проверял, верю справке:
To determine whether a particular file exists, use an exact file name for the file_spec argument to Dir or Dir$. The return value is either the file name or, if the file does not exist, the empty string ("").
 
Код:
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
 
ToxaRat
Проверил работоспособность предложенной в посте link removed функции. Очень даже работает. Можно, конечно, добавить Dir-овский параметр attributeMask и обработку ошибок, но это на любителя. А перебирать все файлы, КМК, будет дольше.
 
Проверил работоспособность предложенной в посте link removed функции. Очень даже работает. Можно, конечно, добавить Dir-овский параметр attributeMask и обработку ошибок, но это на любителя. А перебирать все файлы, КМК, будет дольше.
и даже не отбивает ошибку если корневой директории нету?
 
и даже не отбивает ошибку если корневой директории нету?
Разумеется, отбивает. Я же указал:
Можно, конечно, добавить Dir-овский параметр attributeMask и обработку ошибок, но это на любителя.
Я привёл только заготовку, вот более приближенный к рабочему вариант:
Код:
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
 
мне мое ближе
Код:
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
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы