• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

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

11BOSS11

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

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
11BOSS11
открыть его на чтение - проверишь существует ли он
открыть его на запись - проверишь свободен ли он

ну и обработчик ошибок
 
V

vitfil

ToxaRat
Открыть его на чтение и получить исключение потому как нет прав.
Открыть его на запись... см.выше.
 
N

nvyush

Код:
Function IsFileExist(filePath As String) As Boolean
IsFileExist = (Dir$(filePath) <> "")
End Function
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
nvy
не, дир так не пашет, там сначала тип и путь указываем а потом проходим поэлементно
 
1

11BOSS11

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

nvyush

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 ("").
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
Код:
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
 
N

nvyush

ToxaRat
Проверил работоспособность предложенной в посте link removed функции. Очень даже работает. Можно, конечно, добавить Dir-овский параметр attributeMask и обработку ошибок, но это на любителя. А перебирать все файлы, КМК, будет дольше.
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
Проверил работоспособность предложенной в посте link removed функции. Очень даже работает. Можно, конечно, добавить Dir-овский параметр attributeMask и обработку ошибок, но это на любителя. А перебирать все файлы, КМК, будет дольше.
и даже не отбивает ошибку если корневой директории нету?
 
N

nvyush

и даже не отбивает ошибку если корневой директории нету?
Разумеется, отбивает. Я же указал:
Можно, конечно, добавить 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
 
K

Kee_Keekkenen

мне мое ближе
Код:
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
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!