Dir (Lua): различия между версиями

Материал из UoPilot
Перейти к навигации Перейти к поиску
(Новая страница: «== Описание == '''dir''' - команда вывода дерева каталогов. Возвращает дерево в указанный масси...»)
 
 
Строка 1: Строка 1:
 
== Описание ==
 
== Описание ==
 
'''dir''' - команда вывода дерева каталогов. Возвращает дерево в указанный массив, с разбивкой по столбцам. Имя файла можно не указывать. При указании в качестве параметров только имени массива, возвращает текущий каталог.  
 
'''dir''' - команда вывода дерева каталогов. Возвращает дерево в указанный массив, с разбивкой по столбцам. Имя файла можно не указывать. При указании в качестве параметров только имени массива, возвращает текущий каталог.  
<br>Поддерживается поиск файлов по маске.
+
<br>Поддерживается поиск файлов по маске.
 
   
 
   
 
== Синтаксис ==
 
== Синтаксис ==
 
Привязка к окну: Нет.
 
Привязка к окну: Нет.
&lt;br>Работа со свернутым окном: Да.
+
<br>Работа со свернутым окном: Да.
 
  resultarray, count = dir ([Path, [Filemask]] [, norecursion])
 
  resultarray, count = dir ([Path, [Filemask]] [, norecursion])
 
Где:
 
Где:
&lt;br>'''resultarray''' - массив, в который будет записан результат.
+
<br>'''resultarray''' - массив, в который будет записан результат.
&lt;br>'''count''' - количество найденных элементов.  
+
<br>'''count''' - количество найденных элементов.  
 
  Возвращает по столбцам:
 
  Возвращает по столбцам:
 
   1) Полный корректный адрес с "\", именем файла, расширением.
 
   1) Полный корректный адрес с "\", именем файла, расширением.
Строка 22: Строка 22:
 
   10) Путь с разбивкой 1 папка 1 столбец (для вложенных папок и файлов)
 
   10) Путь с разбивкой 1 папка 1 столбец (для вложенных папок и файлов)
 
'''Path''' - необязательный параметр. Путь к директории.
 
'''Path''' - необязательный параметр. Путь к директории.
&lt;br>'''Filemask''' - необязательный параметр. Расширение для поиска по маске. Регистронезависимо:  
+
<br>'''Filemask''' - необязательный параметр. Расширение для поиска по маске. Регистронезависимо:  
 
  *.ini;*.wav            - соответствует любым файлам с расширениями 'ini' или 'wav'
 
  *.ini;*.wav            - соответствует любым файлам с расширениями 'ini' или 'wav'
 
  *.*|*.exe              - соответствует любым файлам, кроме файлов с расширением 'EXE'
 
  *.*|*.exe              - соответствует любым файлам, кроме файлов с расширением 'EXE'
Строка 31: Строка 31:
 
  --lua
 
  --lua
 
  log "clear" log "mode compact"
 
  log "clear" log "mode compact"
  local path = &lt;nowiki>[[C:\Windows\media]]&lt;/nowiki>      -- путь к папке
+
  local path = <nowiki>[[C:\Windows\media]]</nowiki>      -- путь к папке
 
  local resultarray, count = dir (path)  -- получить список всех файлов, включая файлы в подпапках
 
  local resultarray, count = dir (path)  -- получить список всех файлов, включая файлы в подпапках
 
  log ("Найдено файлов: " .. count)
 
  log ("Найдено файлов: " .. count)
Строка 42: Строка 42:
 
  --lua
 
  --lua
 
  log "clear" log "mode compact"
 
  log "clear" log "mode compact"
  local path = &lt;nowiki>[[C:\Windows\media]]&lt;/nowiki>      -- путь к папке
+
  local path = <nowiki>[[C:\Windows\media]]</nowiki>      -- путь к папке
 
  local resultarray, count = dir (path, "*.wav", "norecursion")  -- получить список всех файлов в формате 'wav', не включая файлы в подпапках
 
  local resultarray, count = dir (path, "*.wav", "norecursion")  -- получить список всех файлов в формате 'wav', не включая файлы в подпапках
 
  log ("Найдено файлов: " .. count)
 
  log ("Найдено файлов: " .. count)
Строка 53: Строка 53:
 
  --lua
 
  --lua
 
  log "clear" log "mode compact"
 
  log "clear" log "mode compact"
  local path = &lt;nowiki>[[C:\Windows\media]]&lt;/nowiki>      -- путь к папке
+
  local path = <nowiki>[[C:\Windows\media]]</nowiki>      -- путь к папке
 
  local resultarray, count = dir (path, "*.wav")  -- получить список всех файлов в формате 'wav', включая файлы в подпапках
 
  local resultarray, count = dir (path, "*.wav")  -- получить список всех файлов в формате 'wav', включая файлы в подпапках
 
  log ("Найдено файлов: " .. count)
 
  log ("Найдено файлов: " .. count)
Строка 65: Строка 65:
  
 
[[Dircreate (Lua)]]
 
[[Dircreate (Lua)]]
&lt;br>[[Dirremove (Lua)]]
+
<br>[[Dirremove (Lua)]]
&lt;br>[[Filecopy (Lua)]]
+
<br>[[Filecopy (Lua)]]
&lt;br>[[Filedelete (Lua)]]
+
<br>[[Filedelete (Lua)]]
&lt;br>[[Filerename (Lua)]]
+
<br>[[Filerename (Lua)]]

Текущая версия на 10:25, 28 августа 2019

Описание

dir - команда вывода дерева каталогов. Возвращает дерево в указанный массив, с разбивкой по столбцам. Имя файла можно не указывать. При указании в качестве параметров только имени массива, возвращает текущий каталог.
Поддерживается поиск файлов по маске.

Синтаксис

Привязка к окну: Нет.
Работа со свернутым окном: Да.

resultarray, count = dir ([Path, [Filemask]] [, norecursion])

Где:
resultarray - массив, в который будет записан результат.
count - количество найденных элементов.

Возвращает по столбцам:
  1) Полный корректный адрес с "\", именем файла, расширением.
  2) Адрес. Полный адрес слепленный в нормальную строку с "\".
  3) Имя файла без расширения.
  4) Расширение файла.
  5) Размер.
  6) Атрибуты.
  7) Дата.
  8) Время.
  9) Уровень вложенности для пункта 10.
  10) Путь с разбивкой 1 папка 1 столбец (для вложенных папок и файлов)

Path - необязательный параметр. Путь к директории.
Filemask - необязательный параметр. Расширение для поиска по маске. Регистронезависимо:

*.ini;*.wav            - соответствует любым файлам с расширениями 'ini' или 'wav'
*.*|*.exe              - соответствует любым файлам, кроме файлов с расширением 'EXE'
*.mp3;*.wav|?.*;??.*   - соответствует любым файлам с расширениями 'mp3' и 'wav', за исключением файлов у которых имя состоит из одного или двух символов.

Примеры

--lua
log "clear" log "mode compact"
local path = [[C:\Windows\media]]      -- путь к папке
local resultarray, count = dir (path)  -- получить список всех файлов, включая файлы в подпапках
log ("Найдено файлов: " .. count)
if count then      -- если файлы найдены
    for i=1, #resultarray do
        log (resultarray[i][1])         -- показать в логе список
    end
end
--lua
log "clear" log "mode compact"
local path = [[C:\Windows\media]]      -- путь к папке
local resultarray, count = dir (path, "*.wav", "norecursion")  -- получить список всех файлов в формате 'wav', не включая файлы в подпапках
log ("Найдено файлов: " .. count)
if count then      -- если файлы найдены
    for i=1, #resultarray do
        log (resultarray[i][1])         -- показать в логе список
    end
end
--lua
log "clear" log "mode compact"
local path = [[C:\Windows\media]]      -- путь к папке
local resultarray, count = dir (path, "*.wav")  -- получить список всех файлов в формате 'wav', включая файлы в подпапках
log ("Найдено файлов: " .. count)
if count then      -- если файлы найдены
    for i=1, #resultarray do
        log (resultarray[i][1])         -- показать в логе список
    end
end

Смотрите также

Dircreate (Lua)
Dirremove (Lua)
Filecopy (Lua)
Filedelete (Lua)
Filerename (Lua)