Axiom Справочник языка

14 · Файловая система

Пути и сведения о файлах

Путь в программе приходится не только передавать файловым операциям, но и разбирать: отделить имя от каталога, расширение от основы, получить полный адрес или убедиться, что он абсолютный. Рядом стоят сведения о самих объектах — размер файла, дата изменения и создания, содержимое каталога. Эту работу выполняют FILESIZE, FILEDATE, FILECREATEDATE, FILEACCESSEDDATE, DIRDATE, GETFILES, GETDIRS, COMBINEPATH, FILENAME, DIRNAME, EXTNAME, FULLPATH, PATHROOT и ISABSOLUTEPATH.

Строковые и типизированные формы времени

Функции FILEDATE, FILECREATEDATE, FILEACCESSEDDATE и DIRDATE возвращают STRING в местном времени с точностью до секунды. Это прежний договор: текст удобен для вывода, но теряет доли секунды и не говорит, в каком поясе записано время.

Для точных отметок существуют типизированные формы с суффиксом UTC: FILEDATEUTC, FILECREATEDATEUTC, FILEACCESSEDDATEUTC и DIRDATEUTC. Они возвращают UTCDATETIME — момент времени. Такой результат не зависит от местного пояса и перевода часов, хранит полную точность файловой системы и печатается с признаком Z. Обе формы обращаются к одним и тем же метаданным; различие только в типе результата.

При отладке FILEDATEUTC, FILECREATEDATEUTC, FILEACCESSEDDATEUTC и DIRDATEUTC читают внешние метаданные и ограничивают обратный шаг. Отмена последующих изменений сохраняет уже прочитанную отметку и не обращается к файловой системе повторно. Правило действует также при вызове через переменную FUNCTION.

DIM path AS STRING = MAKETEMPFILE("axiom_forms_")
WRITEFILE(path, "данные")
PRINT LEN(FILEDATE(path))
PRINT RIGHT(FILEDATEUTC(path) & "", 1)
DELETEFILE(path)

Ожидаемый вывод:

19
Z

Общие условия работы

Страница объединяет отдельные встроенные функции FILESIZE, FILEDATE, FILECREATEDATE, FILEACCESSEDDATE, DIRDATE, GETFILES, GETDIRS, COMBINEPATH, FILENAME, DIRNAME, EXTNAME, FULLPATH, PATHROOT, ISABSOLUTEPATH; общей конструкции для всей группы нет, поэтому каждый блок синтаксиса относится к указанной функции.

Пути подчиняются общим правилам файловых операций. Они доступны в консольной программе и в IDE без оператора SCREEN; относительные пути разрешаются от CURRENTDIR() текущего запуска, а перед разрешением пути раскрываются переменные окружения. Нулевой символ в пути недопустим. Создание файла не создаёт родительский каталог; сначала вызовите MAKEDIR, если он нужен.

FILESIZE

FILESIZE возвращает физическую длину файла в байтах. Работа идёт с путём файловой системы либо со строковыми частями пути.

Синтаксис

FILESIZE(<путь>)

Аргументы

<путь> имеет тип STRING. Аргумент задаёт путь к файлу.

Результат и правила работы

Результат LONG равен физической длине файла в байтах, включая BOM, если он записан. Для пустого файла возвращается 0. Файл должен существовать.

Диагностика

MB2004 означает неверное число аргументов; MB2003 — несовместимые типы. MB3007 возникает, если файл отсутствует, путь не разрешается или размер нельзя получить из-за отказа доступа либо ошибки файловой системы.

Пример

DIM folder AS STRING = MAKETEMPDIR("axiom_manual_")
DIM path AS STRING = COMBINEPATH(folder, "notes.txt")
WRITEFILE(path, "AB")
PRINT FILESIZE(path)
DELETEDIRRECURSIVE(folder)

Ожидаемый вывод:

2

FILEDATE

Функция FILEDATE возвращает местные дату и время последней записи в файл. Работа идёт с путём файловой системы либо со строковыми частями пути.

Синтаксис

FILEDATE(<путь>)

Аргументы

<путь> имеет тип STRING. Аргумент задаёт путь к файлу.

Результат и правила работы

Результат имеет тип STRING. Объект должен существовать. Результат STRING имеет формат yyyy-MM-dd HH:mm:ss и отражает местное время файловой системы. Фактические метаданные зависят от ОС и файловой системы.

Диагностика

MB2004 означает неверное число аргументов; MB2003 — несовместимые типы. MB3007 возникает, если файл отсутствует, путь не разрешается или его метаданные недоступны.

Пример

DIM folder AS STRING = MAKETEMPDIR("axiom_manual_")
DIM path AS STRING = COMBINEPATH(folder, "notes.txt")
WRITEFILE(path, "AB")
PRINT LEN(FILEDATE(path))
DELETEDIRRECURSIVE(folder)

Ожидаемый вывод:

19

FILECREATEDATE

FILECREATEDATE возвращает местные дату и время создания файла. Допустимы как путь файловой системы, так и строковые части пути.

Синтаксис

FILECREATEDATE(<путь>)

Аргументы

<путь> имеет тип STRING. Аргумент задаёт путь к файлу.

Результат и правила работы

Результат имеет тип STRING. Объект должен существовать. Результат STRING имеет формат yyyy-MM-dd HH:mm:ss и отражает местное время файловой системы. Фактические метаданные зависят от ОС и файловой системы.

Диагностика

MB2004 означает неверное число аргументов; MB2003 — несовместимые типы. MB3007 возникает, если файл отсутствует, путь не разрешается или его метаданные недоступны.

Пример

DIM folder AS STRING = MAKETEMPDIR("axiom_manual_")
DIM path AS STRING = COMBINEPATH(folder, "notes.txt")
WRITEFILE(path, "AB")
PRINT LEN(FILECREATEDATE(path))
DELETEDIRRECURSIVE(folder)

Ожидаемый вывод:

19

FILEACCESSEDDATE

Вызов FILEACCESSEDDATE возвращает местные дату и время последнего доступа к файлу. Допустимы как путь файловой системы, так и строковые части пути.

Синтаксис

FILEACCESSEDDATE(<путь>)

Аргументы

<путь> имеет тип STRING. Аргумент задаёт путь к файлу.

Результат и правила работы

Результат имеет тип STRING. Объект должен существовать. Результат STRING имеет формат yyyy-MM-dd HH:mm:ss и отражает местное время файловой системы. Фактические метаданные зависят от ОС и файловой системы.

Диагностика

MB2004 означает неверное число аргументов; MB2003 — несовместимые типы. MB3007 возникает, если файл отсутствует, путь не разрешается или его метаданные недоступны.

Пример

DIM folder AS STRING = MAKETEMPDIR("axiom_manual_")
DIM path AS STRING = COMBINEPATH(folder, "notes.txt")
WRITEFILE(path, "AB")
PRINT LEN(FILEACCESSEDDATE(path))
DELETEDIRRECURSIVE(folder)

Ожидаемый вывод:

19

DIRDATE

DIRDATE возвращает местные дату и время последней записи в каталог. Обращение идёт к пути файловой системы либо к строковым частям пути.

Синтаксис

DIRDATE(<путь>)

Аргументы

<путь> имеет тип STRING. Аргумент задаёт путь к каталогу.

Результат и правила работы

Результат имеет тип STRING. Объект должен существовать. Результат STRING имеет формат yyyy-MM-dd HH:mm:ss и отражает местное время файловой системы. Фактические метаданные зависят от ОС и файловой системы.

Диагностика

MB2004 означает неверное число аргументов; MB2003 — несовместимые типы. MB3007 возникает, если каталог отсутствует, путь не разрешается или его метаданные недоступны.

Пример

DIM folder AS STRING = MAKETEMPDIR("axiom_manual_")
DIM path AS STRING = COMBINEPATH(folder, "notes.txt")
WRITEFILE(path, "AB")
PRINT LEN(DIRDATE(folder))
DELETEDIRRECURSIVE(folder)

Ожидаемый вывод:

19

FILEDATEUTC

FILEDATEUTC возвращает момент последней записи в файл. В отличие от строковой формы метаданной это момент времени, а не текст местного времени: результат однозначен, не зависит от часового пояса машины и сохраняет полную точность файловой системы, включая доли секунды. Вызывают функцию в выражениях консольных и графических программ; оператор SCREEN или CANVAS не требуется.

Синтаксис

FILEDATEUTC(<путь>)

Аргументы

<путь> имеет тип STRING и задаёт путь к существующему объекту. Относительный путь разрешается от CURRENTDIR() текущего запуска.

Результат

Функция возвращает значение типа UTCDATETIME. Результат печатается с разделителем T и признаком Z, например 2024-01-02T03:04:05.125Z.

Правила и ограничения

Объект должен существовать; для файловых форм каталог не подходит, для DIRDATEUTC не подходит файл. Фактическая точность зависит от операционной системы и файловой системы: не всякий носитель хранит доли секунды. Строковая форма той же метаданной остаётся доступной и по-прежнему возвращает местное время до секунды.

Диагностика

Компилятор отклоняет неверное число аргументов и несовместимый тип аргумента. MB3007 возникает, если объект отсутствует, путь не разрешается, метаданные недоступны или вид объекта не совпадает с функцией.

Пример

DIM path AS STRING = MAKETEMPFILE("axiom_moment_")
WRITEFILE(path, "данные")
DIM moment AS UTCDATETIME = FILEDATEUTC(path)
PRINT RIGHT(moment & "", 1)
DELETEFILE(path)

Ожидаемый вывод:

Z

См. также

Календарное время и момент, Указатель встроенных функций

FILECREATEDATEUTC

Функция FILECREATEDATEUTC возвращает момент создания файла. В отличие от строковой формы метаданной это момент времени, а не текст местного времени: результат однозначен, не зависит от часового пояса машины и сохраняет полную точность файловой системы, включая доли секунды. Вызывают функцию в выражениях консольных и графических программ; оператор SCREEN или CANVAS не требуется.

Синтаксис

FILECREATEDATEUTC(<путь>)

Аргументы

<путь> имеет тип STRING и задаёт путь к существующему объекту. Относительный путь разрешается от CURRENTDIR() текущего запуска.

Результат

Функция возвращает значение типа UTCDATETIME. Результат печатается с разделителем T и признаком Z, например 2024-01-02T03:04:05.125Z.

Правила и ограничения

Объект должен существовать; для файловых форм каталог не подходит, для DIRDATEUTC не подходит файл. Фактическая точность зависит от операционной системы и файловой системы: не всякий носитель хранит доли секунды. Строковая форма той же метаданной остаётся доступной и по-прежнему возвращает местное время до секунды.

Диагностика

Компилятор отклоняет неверное число аргументов и несовместимый тип аргумента. MB3007 возникает, если объект отсутствует, путь не разрешается, метаданные недоступны или вид объекта не совпадает с функцией.

Пример

DIM path AS STRING = MAKETEMPFILE("axiom_moment_")
WRITEFILE(path, "данные")
DIM moment AS UTCDATETIME = FILECREATEDATEUTC(path)
PRINT RIGHT(moment & "", 1)
DELETEFILE(path)

Ожидаемый вывод:

Z

См. также

Календарное время и момент, Указатель встроенных функций

FILEACCESSEDDATEUTC

FILEACCESSEDDATEUTC возвращает момент последнего доступа к файлу. В отличие от строковой формы метаданной это момент времени, а не текст местного времени: результат однозначен, не зависит от часового пояса машины и сохраняет полную точность файловой системы, включая доли секунды. Вызывают функцию в выражениях консольных и графических программ; оператор SCREEN или CANVAS не требуется.

Синтаксис

FILEACCESSEDDATEUTC(<путь>)

Аргументы

<путь> имеет тип STRING и задаёт путь к существующему объекту. Относительный путь разрешается от CURRENTDIR() текущего запуска.

Результат

Функция возвращает значение типа UTCDATETIME. Результат печатается с разделителем T и признаком Z, например 2024-01-02T03:04:05.125Z.

Правила и ограничения

Объект должен существовать; для файловых форм каталог не подходит, для DIRDATEUTC не подходит файл. Фактическая точность зависит от операционной системы и файловой системы: не всякий носитель хранит доли секунды. Строковая форма той же метаданной остаётся доступной и по-прежнему возвращает местное время до секунды.

Диагностика

Компилятор отклоняет неверное число аргументов и несовместимый тип аргумента. MB3007 возникает, если объект отсутствует, путь не разрешается, метаданные недоступны или вид объекта не совпадает с функцией.

Пример

DIM path AS STRING = MAKETEMPFILE("axiom_moment_")
WRITEFILE(path, "данные")
DIM moment AS UTCDATETIME = FILEACCESSEDDATEUTC(path)
PRINT RIGHT(moment & "", 1)
DELETEFILE(path)

Ожидаемый вывод:

Z

См. также

Календарное время и момент, Указатель встроенных функций

DIRDATEUTC

Вызов DIRDATEUTC возвращает момент последнего изменения каталога. В отличие от строковой формы метаданной это момент времени, а не текст местного времени: результат однозначен, не зависит от часового пояса машины и сохраняет полную точность файловой системы, включая доли секунды. Вызывают функцию в выражениях консольных и графических программ; оператор SCREEN или CANVAS не требуется.

Синтаксис

DIRDATEUTC(<путь>)

Аргументы

<путь> имеет тип STRING и задаёт путь к существующему объекту. Относительный путь разрешается от CURRENTDIR() текущего запуска.

Результат

Функция возвращает значение типа UTCDATETIME. Результат печатается с разделителем T и признаком Z, например 2024-01-02T03:04:05.125Z.

Правила и ограничения

Объект должен существовать; для файловых форм каталог не подходит, для DIRDATEUTC не подходит файл. Фактическая точность зависит от операционной системы и файловой системы: не всякий носитель хранит доли секунды. Строковая форма той же метаданной остаётся доступной и по-прежнему возвращает местное время до секунды.

Диагностика

Компилятор отклоняет неверное число аргументов и несовместимый тип аргумента. MB3007 возникает, если объект отсутствует, путь не разрешается, метаданные недоступны или вид объекта не совпадает с функцией.

Пример

DIM path AS STRING = MAKETEMPFILE("axiom_moment_")
WRITEFILE(path, "данные")
DIM moment AS UTCDATETIME = DIRDATEUTC(path)
PRINT RIGHT(moment & "", 1)
DELETEFILE(path)

Ожидаемый вывод:

Z

См. также

Календарное время и момент, Указатель встроенных функций

GETFILES

GETFILES возвращает массив полных путей файлов непосредственно в указанном каталоге. Работа идёт с путём файловой системы либо со строковыми частями пути.

Синтаксис

GETFILES(<путь>)
GETFILES(<путь>, <маска>)

Аргументы

<путь> имеет тип STRING. Аргумент задаёт путь к каталогу.

<маска> имеет тип STRING. Строка маски отбирает имена в указанном каталоге; например, *.txt. Пустая маска недопустима.

Результат и правила работы

Результат имеет тип массив STRING ранга 1. Без маски используется *. Обход не рекурсивный. Полные пути сортируются без учёта регистра. Результат имеет границы 1 TO N, а при отсутствии совпадений — 1 TO 0. Каталог должен существовать.

Маска задаёт только имя внутри указанного каталога. Маска не должна содержать \, /, : или нулевой символ; например, ../* и child/*.txt вызывают MB3007 до перечисления. Символы * и ? допустимы. Ошибка пути относится к аргументу path, ошибка маски — к аргументу pattern.

Пример отказа:

DIM entries[] AS STRING
TRY
    entries[] = GETFILES(CURRENTDIR(), "../*")
CATCH problem
    PRINT problem.Code
END TRY
' Результат: MB3007.

Диагностика

MB2004 означает неверное число аргументов; MB2003 — несовместимые типы. MB3007 возникает, если каталог отсутствует, перечисление недоступно, маска пуста или маска недопустима для перечисления файлов этой системой.

Пример

DIM folder AS STRING = MAKETEMPDIR("axiom_manual_")
DIM path AS STRING = COMBINEPATH(folder, "notes.txt")
WRITEFILE(path, "AB")
DIM names[] AS STRING
names[] = GETFILES(folder, "*.txt")
PRINT ARRAYLENGTH(names[])
PRINT FILENAME(names[1])
DELETEDIRRECURSIVE(folder)

Ожидаемый вывод:

1
notes.txt

GETDIRS

Функция GETDIRS возвращает массив полных путей каталогов непосредственно в указанном каталоге. Допустимы как путь файловой системы, так и строковые части пути.

Синтаксис

GETDIRS(<путь>)
GETDIRS(<путь>, <маска>)

Аргументы

<путь> имеет тип STRING. Аргумент задаёт путь к каталогу.

<маска> имеет тип STRING. Строка маски отбирает имена в указанном каталоге; например, *.txt. Пустая маска недопустима.

Результат и правила работы

Результат имеет тип массив STRING ранга 1. Без маски используется *. Обход не рекурсивный. Полные пути сортируются без учёта регистра. Результат имеет границы 1 TO N, а при отсутствии совпадений — 1 TO 0. Каталог должен существовать.

Маска задаёт только имя внутри указанного каталога. Маска не должна содержать \, /, : или нулевой символ; например, ../* и child/*.txt вызывают MB3007 до перечисления. Символы * и ? допустимы. Ошибка пути относится к аргументу path, ошибка маски — к аргументу pattern.

Пример отказа:

DIM entries[] AS STRING
TRY
    entries[] = GETDIRS(CURRENTDIR(), "../*")
CATCH problem
    PRINT problem.Code
END TRY
' Результат: MB3007.

Диагностика

MB2004 означает неверное число аргументов; MB2003 — несовместимые типы. MB3007 возникает, если каталог отсутствует, перечисление недоступно, маска пуста или маска недопустима для перечисления каталогов этой системой.

Пример

DIM folder AS STRING = MAKETEMPDIR("axiom_manual_")
DIM path AS STRING = COMBINEPATH(folder, "notes.txt")
WRITEFILE(path, "AB")
MAKEDIR(COMBINEPATH(folder, "child"))
DIM names[] AS STRING
names[] = GETDIRS(folder)
PRINT ARRAYLENGTH(names[])
DELETEDIRRECURSIVE(folder)

Ожидаемый вывод:

1

COMBINEPATH

COMBINEPATH соединяет две строковые части пути. Обращение идёт к пути файловой системы либо к строковым частям пути.

Синтаксис

COMBINEPATH(<левая часть>, <правая часть>)

Аргументы

<левая часть> имеет тип STRING. Строка левой части задаёт начало составляемого пути.

<правая часть> имеет тип STRING. Строка правой части задаёт присоединяемый путь; абсолютная правая часть заменяет левую.

Результат и правила работы

Результат имеет тип STRING. Функция не проверяет наличие объекта и не приводит результат к полному пути. Пустая часть не добавляет лишнего компонента.

Нулевой символ в строке пути недопустим и вызывает MB3007. Проверка выполняется непосредственно при вызове функции; для COMBINEPATH проверяются оба аргумента.

Диагностика

MB2004 означает неверное число аргументов; MB2003 — несовместимые типы. Наличие файлов и каталогов не проверяется. Абсолютная правая часть заменяет левую; это разрешённый результат, а не ошибка.

Пример

DIM folder AS STRING = MAKETEMPDIR("axiom_manual_")
DIM path AS STRING = COMBINEPATH(folder, "notes.txt")
WRITEFILE(path, "AB")
PRINT FILENAME(COMBINEPATH(folder, "next.txt"))
DELETEDIRRECURSIVE(folder)

Ожидаемый вывод:

next.txt

FILENAME

FILENAME возвращает последнюю часть полного пути вместе с расширением. Работа идёт с путём файловой системы либо со строковыми частями пути.

Синтаксис

FILENAME(<путь>)

Аргументы

<путь> имеет тип STRING. Аргумент задаёт строку пути, которую нужно разобрать или нормализовать.

Результат и правила работы

Результат имеет тип STRING. Наличие объекта не проверяется. Завершающий разделитель каталога даёт пустую строку.

Диагностика

MB2004 означает неверное число аргументов; MB2003 — несовместимые типы. MB3007 возникает, если строку пути нельзя разрешить, например она пуста или содержит нулевой символ. Несуществующий объект разрешён.

Пример

DIM folder AS STRING = MAKETEMPDIR("axiom_manual_")
DIM path AS STRING = COMBINEPATH(folder, "notes.txt")
WRITEFILE(path, "AB")
PRINT FILENAME(path)
DELETEDIRRECURSIVE(folder)

Ожидаемый вывод:

notes.txt

DIRNAME

Функция DIRNAME возвращает полный путь родительского каталога. Допустимы как путь файловой системы, так и строковые части пути.

Синтаксис

DIRNAME(<путь>)

Аргументы

<путь> имеет тип STRING. Аргумент задаёт строку пути, которую нужно разобрать или нормализовать.

Результат и правила работы

Результат имеет тип STRING. Функция сначала разрешает путь относительно рабочей папки. Для C:/work/data.txt результатом будет C:\work, а для корня диска — пустая строка. Наличие файла не требуется.

Диагностика

MB2004 означает неверное число аргументов; MB2003 — несовместимые типы. MB3007 возникает, если строку пути нельзя разрешить, например она пуста или содержит нулевой символ. Несуществующий объект разрешён; корень даёт пустую строку.

Пример

DIM folder AS STRING = MAKETEMPDIR("axiom_manual_")
DIM path AS STRING = COMBINEPATH(folder, "notes.txt")
WRITEFILE(path, "AB")
PRINT DIRNAME(path) = folder
DELETEDIRRECURSIVE(folder)

Ожидаемый вывод:

TRUE

EXTNAME

EXTNAME возвращает расширение последнего компонента пути вместе с точкой. Обращение идёт к пути файловой системы либо к строковым частям пути.

Синтаксис

EXTNAME(<путь>)

Аргументы

<путь> имеет тип STRING. Аргумент задаёт строку пути, которую нужно разобрать или нормализовать.

Результат и правила работы

Результат имеет тип STRING. Если последний компонент не содержит расширения, возвращается пустая строка. Наличие объекта не проверяется.

Диагностика

MB2004 означает неверное число аргументов; MB2003 — несовместимые типы. MB3007 возникает, если строку пути нельзя разрешить, например она пуста или содержит нулевой символ. Отсутствующее расширение даёт пустую строку.

Пример

DIM folder AS STRING = MAKETEMPDIR("axiom_manual_")
DIM path AS STRING = COMBINEPATH(folder, "notes.txt")
WRITEFILE(path, "AB")
PRINT EXTNAME(path)
DELETEDIRRECURSIVE(folder)

Ожидаемый вывод:

.txt

FULLPATH

Вызов FULLPATH преобразует строку пути в полный путь. Работа идёт с путём файловой системы либо со строковыми частями пути.

Синтаксис

FULLPATH(<путь>)

Аргументы

<путь> имеет тип STRING. Аргумент задаёт строку пути, которую нужно разобрать или нормализовать.

Результат и правила работы

Результат имеет тип STRING. Наличие объекта не проверяется; компоненты . и .. разрешаются в полном пути.

Диагностика

MB2004 означает неверное число аргументов; MB2003 — несовместимые типы. MB3007 возникает, если путь нельзя привести к полному пути, например он пуст или содержит нулевой символ. Наличие объекта не требуется.

Пример

DIM folder AS STRING = MAKETEMPDIR("axiom_manual_")
DIM path AS STRING = COMBINEPATH(folder, "notes.txt")
WRITEFILE(path, "AB")
PRINT ISABSOLUTEPATH(FULLPATH(path))
DELETEDIRRECURSIVE(folder)

Ожидаемый вывод:

TRUE

PATHROOT

PATHROOT возвращает корень полного пути. Допустимы как путь файловой системы, так и строковые части пути.

Синтаксис

PATHROOT(<путь>)

Аргументы

<путь> имеет тип STRING. Аргумент задаёт строку пути, которую нужно разобрать или нормализовать.

Результат и правила работы

Результат имеет тип STRING. Наличие объекта не проверяется; относительный путь сначала превращается в полный.

Диагностика

MB2004 означает неверное число аргументов; MB2003 — несовместимые типы. MB3007 возникает, если путь нельзя разрешить. Наличие объекта по этому пути не требуется.

Пример

DIM folder AS STRING = MAKETEMPDIR("axiom_manual_")
DIM path AS STRING = COMBINEPATH(folder, "notes.txt")
WRITEFILE(path, "AB")
PRINT PATHROOT(path) = PATHROOT(folder)
DELETEDIRRECURSIVE(folder)

Ожидаемый вывод:

TRUE

ISABSOLUTEPATH

Функция ISABSOLUTEPATH проверяет, полностью ли задан путь без обращения к рабочему каталогу. Обращение идёт к пути файловой системы либо к строковым частям пути.

Синтаксис

ISABSOLUTEPATH(<путь>)

Аргументы

<путь> имеет тип STRING. Аргумент задаёт строку пути, которую нужно разобрать или нормализовать.

Результат и правила работы

Результат имеет тип BOOLEAN. На Windows C:/work является полностью заданным путём, C:work и /work — нет. Проверяется строка после раскрытия переменных окружения.

Нулевой символ в строке пути недопустим и вызывает MB3007. Проверка выполняется непосредственно при вызове функции; для COMBINEPATH проверяются оба аргумента.

Диагностика

MB2004 означает неверное число аргументов; MB2003 — несовместимые типы. Относительный, пустой или не полностью заданный путь даёт FALSE. Наличие объекта и доступность диска не проверяются.

Пример

DIM folder AS STRING = MAKETEMPDIR("axiom_manual_")
DIM path AS STRING = COMBINEPATH(folder, "notes.txt")
WRITEFILE(path, "AB")
PRINT ISABSOLUTEPATH(path)
DELETEDIRRECURSIVE(folder)

Ожидаемый вывод:

TRUE

См. также

Файловая система · OPEN · CLOSE · TRY

DIRSIZE

Описание встроенной функции DIRSIZE находится в разделе управления файловой системой.

DRIVEFORMAT

Описание встроенной функции DRIVEFORMAT находится в разделе управления файловой системой.

DRIVENAME

Описание встроенной функции DRIVENAME находится в разделе управления файловой системой.

DRIVETYPE

Описание встроенной функции DRIVETYPE находится в разделе управления файловой системой.

FREESPACE

Описание встроенной функции FREESPACE находится в разделе управления файловой системой.

ISHIDDEN

Описание встроенной функции ISHIDDEN находится в разделе управления файловой системой.

ISREADONLY

Описание встроенной функции ISREADONLY находится в разделе управления файловой системой.

TOTALFREESPACE

Описание встроенной функции TOTALFREESPACE находится в разделе управления файловой системой.

TOTALSPACE

Описание встроенной функции TOTALSPACE находится в разделе управления файловой системой.