Манипуляции с файлами

Функции группы файловых манипуляций ARexx-a являются аналогами соответствующих функций ОС. Например, удаление файла можно произвести, не пользуясь ARexx-функцией DELETE(), а вызвав соответствующую ОС-функцию:

ADDRESS command
DELETE filename

Однако использование ARexx-функций более удобно хотя бы потому, что возвращаемое ими значение может быть немедленно использовано для проверки результата работы заданной функции. Если в качестве параметра функций задается неполный маршрут, то отсчет производится от текущего каталога.


DELETE()
res = DELETE(<имя>)

Возвращается булевское значение TRUE, если операция удаления заданного "именем" файла или каталога прошла успешно, либо FALSE в противном случае.


EXISTS()
res = EXISTS(<имя>)

Возвращается булевское значение TRUE, если файл или каталог с заданным "именем" существует, в противном случае возвращается FALSE. При проверке существования объекта на отсутствующем томе вы, как правило, получите риквестер с запросом "Вставьте диск..."; если такая ситуация нежелательна, следует предварительно вызвать функцию PRAGMA ('W', 'N'). Вызов же PRAGMA('D', <маршрут>) изменит текущий каталог на указанный параметром "маршрут".


MAKEDIR()
res = MAKEDIR(<имя>)

Функция создает каталог с заданным "именем" и в случае успеха возвращает TRUE. В случае ОС 1.3 TRUE возвращается также, если заданный каталог уже существует на диске, в более старших версиях ОС при этом возвращается FALSE.


RENAME()
res = RENAME(<старое_имя>,<новое_имя>)

Функция переименовывает файл в соответствии с достаточно очевидными параметрами. Возвращается булевское значение TRUE, если операция переименования прошла успешно, либо FALSE в противном случае.


STATEF()
res = STATEF(<имя>)

Функция возвращает строку, содержащую информацию о файле (каталоге) с заданным "именем". Формат полученной строки:


FILE | DIR <длина> <блоки> <признаки> <дни> <минуты> <отсчет> <комментарий>
 где:
Пример:
say STATEF('C:ed')   ==> FILE 5696 12 --RWED 6375 1209 2100

Сайт создан в системе uCoz