Получить список папок в указанной папке

Nikol

Client
Регистрация
28.04.2013
Сообщения
184
Благодарностей
11
Баллы
18
Подскажите пожалуйста как можно получить список папок в указанной папке?
 

Санёк

Client
Регистрация
30.08.2013
Сообщения
325
Благодарностей
111
Баллы
43
Можно получить список файлов, в подпапках, потом регуляркой обрезать имена файлов с расширениями файлов, удалить дубли это вариант 1, второй через C# код.

Пример первого:

Получили список файлов:

C:\temp\1\1.txt
C:\temp\1\2.txt
C:\temp\1\3.txt
C:\temp\2\1.txt
C:\temp\2\2.txt
C:\temp\2\3.txt

Регуляркой, через операцию Замена, обрезали имена с расширениями, получили:

C:\temp\1\
C:\temp\1\
C:\temp\1\
C:\temp\2\
C:\temp\2\
C:\temp\2\

Удалили дубли

C:\temp\1\
C:\temp\2\
 

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 268
Баллы
113
C#:
String[] subDirectories;
subDirectories =System.IO.Directory.GetDirectories("D:\\papki");
 

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
791
Баллы
113
var searchsubirs = System.IO.SearchOption.AllDirectories; //искать в подкаталогих или нет
var dirlist = project.Lists["dirlist"]; //зеновский список
dirlist.Clear(); //чистим его
System.IO.Directory.GetDirectories(project.Directory, "*", searchsubirs).ToList().ForEach(dir=>dirlist.Add(dir)); //заполняем
return dirlist.Count; //смотрим кол-во найденых папок
 
  • Спасибо
Реакции: Petr79, zennoX и Nikol

inotoxic

Client
Регистрация
20.04.2015
Сообщения
354
Благодарностей
164
Баллы
43
var searchsubirs = System.IO.SearchOption.AllDirectories; //искать в подкаталогих или нет
var dirlist = project.Lists["dirlist"]; //зеновский список
dirlist.Clear(); //чистим его
System.IO.Directory.GetDirectories(project.Directory, "*", searchsubirs).ToList().ForEach(dir=>dirlist.Add(dir)); //заполняем
return dirlist.Count; //смотрим кол-во найденых папок
Не силен в программировании.
Подскажите, как в коде указать определенную папку, а не папку проекта?
Желательно путь к папке через переменную.
 

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
791
Баллы
113
var directory = project.Directory;// или project.Variables["directory"].Value;
var searchsubirs = System.IO.SearchOption.AllDirectories; //искать в подкаталогих или нет
var dirlist = project.Lists["dirlist"]; //зеновский список
dirlist.Clear(); //чистим его
System.IO.Directory.GetDirectories(directory, "*", searchsubirs).ToList().ForEach(dir=>dirlist.Add(dir)); //заполняем
 

inotoxic

Client
Регистрация
20.04.2015
Сообщения
354
Благодарностей
164
Баллы
43
Работает.
Спасибо!
 

Rainsteel

Client
Регистрация
08.04.2015
Сообщения
102
Благодарностей
9
Баллы
18
как раз искал скрипт, отлично, то что надо :bf:, жаль что по стандарту не сделана такая опция
 

VictorSlate

Client
Регистрация
07.06.2016
Сообщения
23
Благодарностей
0
Баллы
1
var directory = project.Directory;// или project.Variables["directory"].Value;
var searchsubirs = System.IO.SearchOption.AllDirectories; //искать в подкаталогих или нет
var dirlist = project.Lists["dirlist"]; //зеновский список
dirlist.Clear(); //чистим его
System.IO.Directory.GetDirectories(directory, "*", searchsubirs).ToList().ForEach(dir=>dirlist.Add(dir)); //заполняем

Это C# или JS ?
Подскажите пожалуйста, как правильно дописать ваш код? Директория: project directory --> папка 1 --> папка 2
И не совсем понятно, как сделать так, чтобы поиск НЕ затрагивал подкаталоги.
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Это C# или JS ?
Подскажите пожалуйста, как правильно дописать ваш код? Директория: project directory --> папка 1 --> папка 2
И не совсем понятно, как сделать так, чтобы поиск НЕ затрагивал подкаталоги.
Для получения файлов есть стандартный кубик. Директории
Там есть настройка поиска по внутренним папкам
 

vovain

Client
Регистрация
31.07.2015
Сообщения
183
Благодарностей
2
Баллы
18
Нужно получить список папок в указанной папке. Путь находится в переменной put_name_kol. Что тут не так не шарю в c#

var directory = project.put_name_kol;
var searchsubirs = System.IO.SearchOption.AllDirectories; //искать в подкаталогих или нет
var dirlist = project.Lists["dirlist"]; //зеновский список
dirlist.Clear(); //чистим его
System.IO.Directory.GetDirectories(directory, "*", searchsubirs).ToList().ForEach(dir=>dirlist.Add(dir)); //заполняем

Тип Время Сообщение
10:39:07 Компиляция кода Ошибка в действии "CS1061" ""ZennoLab.InterfacesLibrary.ProjectModel.IZennoPosterProjectModel" не содержит определение для "put_name_kol". Не удалось найти метод расширения "put_name_kol", принимающий первый аргумент типа "ZennoLab.InterfacesLibrary.ProjectModel.IZennoPosterProjectModel" (пропущена директива using или ссылка на сборку?)". [Строка: 0; Cтолбец: 25]
 

evgen_po

Client
Регистрация
27.08.2013
Сообщения
848
Благодарностей
532
Баллы
93
var directory = project.Variables["put_name_kol"].Value; //переменные проекта пишутся так
var searchsubirs = System.IO.SearchOption.AllDirectories; //искать в подкаталогих или нет
var dirlist = project.Lists["dirlist"]; //зеновский список
dirlist.Clear(); //чистим его
System.IO.Directory.GetDirectories(directory, "*", searchsubirs).ToList().ForEach(dir=>dirlist.Add(dir)); //заполняем
 
  • Спасибо
Реакции: vovain

GreenWay

Client
Регистрация
11.05.2012
Сообщения
432
Благодарностей
139
Баллы
43
У меня код выше искал папки и под папки в указанной папке (тафталогия:-))

Если нужен список папок в указанной (без вложенных), то тогда тут есть код (нашел на форуме)
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
а если папка при поиске закрытая по доступу попадётся то что вы делать будете ??
 

avtostopshik

Client
Регистрация
09.09.2016
Сообщения
791
Благодарностей
136
Баллы
43
Скажите пожалуйста, а за что отвечает пункт в настройках браузера: папка для загрузки файлов. Как с этим работать?
upload_2016-12-23_14-5-15.png
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
  • Спасибо
Реакции: avtostopshik

steklarul

Client
Регистрация
07.09.2016
Сообщения
164
Благодарностей
7
Баллы
18
Все привет помогите разобратся в этом коде
// берем тестовые картинки
var files = Directory.GetFiles(project.Directory + "\\Test\\");
как добаветь путь к конкретному файлу через переменую есть project.Directory + папка "\\Test\\" где хранятся файлы мне нужно чтобы брался конкретный файл названия файла будет прописан в переменой, в этом примере(project.Directory + "\\Test\\") нужно добаветь переменыю где будет названия файла
 

evgen_po

Client
Регистрация
27.08.2013
Сообщения
848
Благодарностей
532
Баллы
93
var name file = project.Variables["переменная где лежит название файла с расширением"].Value;
var full_path_to_file = project.Directory + "\\Test\\" + name file;
return full_path_to_file;
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)