Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 07.06.2018
Сообщений: 17
1

Получить имена файлов в папке и записать их в файл рандомно

01.07.2020, 22:38. Показов 2027. Ответов 5

Author24 — интернет-сервис помощи студентам
Есть папка с файлами
нужно получить имена всех файлов лежащих в этой папке и записать рандомно в txt файл с рандомным количеством имён этих файлов
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.07.2020, 22:38
Ответы с готовыми решениями:

Из строк текстового файла получить имена файлов и записать их в отдельный текстовый файл
Доброго времени суток, имеется текстовый файл, порядка 7-ми или 8-ми тысяч строк...

Получить имена всех файлов, содержащихся в известной папке
Как можно с помощью FileSystemObject получить имена всех файлов, содержащихся в конкретной папке. ...

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

Записать в контейнер все имена тегов из XML-файлов, находящиеся в одной папке
Подскажите пожалуйста! Как можно записать в контейнер все имена тегов из xml-файлов, находящиеся в...

5
Модератор
9724 / 3685 / 871
Регистрация: 22.02.2013
Сообщений: 5,530
Записей в блоге: 78
02.07.2020, 00:15 2
Цитата Сообщение от MORFEY1338 Посмотреть сообщение
с рандомным количеством имён этих файлов
Что это значит?
Получить легко файлы можно через FSO (поддерживает юникод), либо через Dir (не поддерживает юникод).
0
0 / 0 / 0
Регистрация: 07.06.2018
Сообщений: 17
02.07.2020, 00:24  [ТС] 3
Цитата Сообщение от The trick Посмотреть сообщение
Что это значит?
К примеру в папке есть 50 файлов и мне нужно рандомно 6 их получить и записать их имена в txt

Цитата Сообщение от The trick Посмотреть сообщение
Получить легко файлы можно через FSO (поддерживает юникод), либо через Dir (не поддерживает юникод).
Ну получить я знаю, но не знаю как рандомно выбрать из папки несколько имён и вписать их в txt
0
6804 / 2831 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
02.07.2020, 08:02 4
Лучший ответ Сообщение было отмечено MORFEY1338 как решение

Решение

Цитата Сообщение от MORFEY1338 Посмотреть сообщение
записать рандомно в txt файл с рандомным количеством
Можно вначале записать все имена файлов в массив, потом из массива рандомное кол-во файлов записать в файл.
А можно ещё проще, на лету выбирать рандомно файлы по условию:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Private Sub GetFile(MyFolder As String)
Dim MyFile                                 'Объявляем переменную для свободного файла
MyFile = FreeFile                          ' Присваиваем свободный канал, для работы с файлами
Open ("C:\TEST.txt") For Output As #MyFile 'Открываем файл TEST.TXT для записи
Dim objFSO As New FileSystemObject         ' рабоаем с FSO
Dim AllFile As File
Dim i As Integer
For Each AllFile In objFSO.GetFolder(MyFolder).Files ' ищем все файлы в папке
If Int(Rnd(1) * 10) < 1 Then               ' примерно 10% файлов пишем в файл
   Print #MyFile, AllFile.Name
   i = i + 1                               ' счетчик записанных файлов (нет в задании)
End If
Next AllFile
Print #MyFile, "Записано " & i             ' итог (нет в задании)
Close #MyFile                              'Закрываем файл
End Sub
Private Sub Command1_Click()
MyFolder = "c:\Temp"
GetFile (MyFolder)
End Sub
Для правильной работы этого кода в папке должно быть достаточное кол-во файлов, как вы и написали:
Цитата Сообщение от MORFEY1338 Посмотреть сообщение
К примеру в папке есть 50 файлов
2
0 / 0 / 0
Регистрация: 07.06.2018
Сообщений: 17
02.07.2020, 09:11  [ТС] 5
Ещё хотел спросить как можно ли из списка исключить определённые имена ?
0
6804 / 2831 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
02.07.2020, 11:06 6
Лучший ответ Сообщение было отмечено MORFEY1338 как решение

Решение

Цитата Сообщение от MORFEY1338 Посмотреть сообщение
как можно ли из списка исключить определённые имена ?
так же, по условию.
Вот тут записано условие - все, кроме EXE пишем в файл:
Visual Basic
1
2
3
4
5
6
For Each AllFile In objFSO.GetFolder(MyFolder).Files ' ищем все файлы в папке
If InStr(1, AllFile.Name, ".exe") = 0 Then ' все, кроме EXE пишем в файл
   Print #MyFile, AllFile.Name
   i = i + 1                               ' счетчик записанных файлов (нет в задании)
End If
Next AllFile
Можно комбинировать условия как угодно.
1
02.07.2020, 11:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.07.2020, 11:06
Помогаю со студенческими работами здесь

Как получить имена всех файлов с данным расширением в данной папке
Есть openfiledialog1. При открытии через него одного файла нужно получить имена всех файлов с таким...

Записать имена созданных файлов в другой файл
{ system(&quot;cls&quot;); cout&lt;&lt; &quot;Enter file name: &quot;; char filename = { 0 }; cin...

Как получить типы файлов в папке и записать их в CheckedListBox
Привет. Как получить типы всех файлов, которые находятся в папке, и записать их в CheckedListBox?...

Записать в текстовый файл все имена файлов в директории
Написать дополнительный файл, подключаемый к. cpp, который записывает в текстовый файл все имена...

Записать в файл g имена только исполняемых файлов (с расширением exe)
Дан текстовый фал f, в котором содержатся имена файлов с расширениями в формате:...

Получить имена файлов из папки, переименовать файл
Можно ли получить имена всех файлов в папке например с расширением .dbf Как это сделать, чтоб они...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru