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

  • Автор темы Автор темы Nikol
  • Дата начала Дата начала

Nikol

Client
Регистрация
28.04.2013
Сообщения
185
Реакции
11
Баллы
18
Подскажите пожалуйста как можно получить список папок в указанной папке?
 
Можно получить список файлов, в подпапках, потом регуляркой обрезать имена файлов с расширениями файлов, удалить дубли это вариант 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\
 
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
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; //смотрим кол-во найденых папок

Не силен в программировании.
Подскажите, как в коде указать определенную папку, а не папку проекта?
Желательно путь к папке через переменную.
 
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)); //заполняем
 
Работает.
Спасибо!
 
как раз искал скрипт, отлично, то что надо :bf:, жаль что по стандарту не сделана такая опция
 
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
И не совсем понятно, как сделать так, чтобы поиск НЕ затрагивал подкаталоги.
 
Это C# или JS ?
Подскажите пожалуйста, как правильно дописать ваш код? Директория: project directory --> папка 1 --> папка 2
И не совсем понятно, как сделать так, чтобы поиск НЕ затрагивал подкаталоги.
Для получения файлов есть стандартный кубик. Директории
Там есть настройка поиска по внутренним папкам
 
Нужно получить список папок в указанной папке. Путь находится в переменной 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]
 
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
У меня код выше искал папки и под папки в указанной папке (тафталогия:-))

Если нужен список папок в указанной (без вложенных), то тогда тут есть код (нашел на форуме)
 
а если папка при поиске закрытая по доступу попадётся то что вы делать будете ??
 
Скажите пожалуйста, а за что отвечает пункт в настройках браузера: папка для загрузки файлов. Как с этим работать?
upload_2016-12-23_14-5-15.png
 
  • Оценить
Реакции: avtostopshik
Все привет помогите разобратся в этом коде
// берем тестовые картинки
var files = Directory.GetFiles(project.Directory + "\\Test\\");
как добаветь путь к конкретному файлу через переменую есть project.Directory + папка "\\Test\\" где хранятся файлы мне нужно чтобы брался конкретный файл названия файла будет прописан в переменой, в этом примере(project.Directory + "\\Test\\") нужно добаветь переменыю где будет названия файла
 
var name file = project.Variables["переменная где лежит название файла с расширением"].Value;
var full_path_to_file = project.Directory + "\\Test\\" + name file;
return full_path_to_file;
 

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