Перейти к содержимому

getFilesInDir

await crafttechApi.getFilesInDir(dirName, (depth = 0));

Используется для получения абсолютных путей до файлов, которые находятся в указанной папке.

  • dirName (string) — путь до папки, внутри которой необходимо проводить поиск;
  • depth (string) — глубина поиска, начиная с 1; если передать в параметр 0 (по умолчанию), то будет проведен поиск папок и файлов по всем возможным папкам и подпапкам.
  • filesInDir (string[][]) — массив с массивами, в которых первый элемент — это полный путь до файла, но без самого названия файла, а второй элемент — это название файла.
const paths = await crafttechApi.getFilesInDir("/home/user/project/cart", 1);

Пусть мы хотим получить все пути до файлов в директории cart со следующей структурой:

.
└─cart
├─fruits
├─apple.txt
└─grape.js
├─meat
├─dietary
├─chicken.txt
└─turkey.js
├─cow.js
└─pork.php
└─emptyDir

Тогда, вызывая метод getFilesInDir(), мы получаем в ответ объект:

[
['/home/user/project/cart/fruits/', 'apple.txt'],
['/home/user/project/cart/fruits/', 'grape.js'],
['/home/user/project/cart/meat/', 'cow.js'],
['/home/user/project/cart/meat/', 'pork.php'],
['/home/user/project/cart/meat/dietary/', 'chicken.txt'],
['/home/user/project/cart/meat/dietary/', 'turkey.js'],
['/home/user/project/cart/emptyDir', '']
]

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

Если мы хотим получить пути к файлам и папкам в текущей директории, то передаём методу точку:

const paths = await crafttechApi.getFilesInDir(".");

Если же мы хотим получить пути к файлам только в текущей директории, то передаем точку и 1:

const paths = await crafttechApi.getFilesInDir(".", 1);