С Новым годом! Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.51/47: Рейтинг темы: голосов - 47, средняя оценка - 4.51
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566

Вывод списка файлов в строчку

25.09.2019, 20:44. Показов 9720. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер! Просьба помочь в реализации следующего сценария. Имеется каталог, в котором хранятся файлы. Необходимо:
1) Вывести строкой список имён этих файлов, включая расширение (без полного пути к ним) через запятую без пробела. После последнего имени файла тоже должна быть запятая.
2) Присвоить данный список переменной.
Присвоение данного списка переменной я вижу, как:
Windows Batch file
1
set /p S=<spisok.txt
spisok.txt как раз и содержит 1-й пункт.
Заранее благодарен!
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.09.2019, 20:44
Ответы с готовыми решениями:

Вывод списка .txt файлов в папке и последующее открытие файлов
Ребята, подскажите или помогите реализовать программу, которая допустим при помощи OpenFileDialog, при указании пути к папке, выводила на...

Вывод списка файлов
задача состоит в том чтобы вывести в listbox только список файлов определенной директории: procedure TForm1.Button1Click(Sender:...

Вывод списка файлов
Здравствуйте, друзья :) Всех с новым годом, пожелаю счастья и здоровья. А теперь по делу: у кого есть скрипт, или кто может...

6
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
25.09.2019, 21:23
Лучший ответ Сообщение было отмечено Karen87 как решение

Решение

если пути в списке (построчно, каждый на своей строке)
Windows Batch file
1
2
3
4
@echo off
for /f "usebackq delims=" %%a in ("spisok.txt") do >>$<$ set /p n="%%~nxa,"
del $& echo %n%
pause>nul
если просто файлы в папке (в живую, без списка)
Windows Batch file
1
2
3
4
@echo off
for /f "delims=" %%a in ('dir /a-d/b "Papka"') do >>$<$ set /p n="%%a,"
del $& echo %n%
pause>nul
1
Покинул форум
3700 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
25.09.2019, 22:51
Командная строка имеет ряд ограничений по части строк и, как следствие, переменных их хранящих, так что хранить "кишку" в переменной не комильфо. Что касается списка через запятую... вот почему люди упорствуют и не используют уже давно портированный в Windows sed? Задача с ним решается проще:
Windows Batch file
1
dir /a-d /b | sed ":x;{N;s/\n/,/};bx" | sed "s/$/,/"
Или
Windows Batch file
1
sed ":x;{N;s/\n/,/};bx" spisok.txt | sed "s/$/,/"
Если данные берутся из списка.
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
25.09.2019, 23:51  [ТС]
Благодарю, а можно попросить объяснить данный кусок кода?
Цитата Сообщение от alpap Посмотреть сообщение
Windows Batch file
1
do >>$<$ set /p n="%%a,"
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
26.09.2019, 09:05  [ТС]
Также просьба уточнить максимально возможную длину переменной. Для теста я сгенерировал 5000 текстовых файлов с именами 1.txt, 2.txt, 3.txt и т.д. Сценарий все файлы не обработал. Результат вывода:
1.txt,10.txt,100.txt,1000.txt,1001.txt,1 002.txt,1003.txt,1004.txt,1005.txt,1006. txt,1007.txt,1008.txt,1009.txt,101.txt,1 010.txt,1011.txt,1012.txt,1013.txt,1014. txt,1015.txt,1016.txt,1017.txt,1018.txt, 1019.txt,102.txt,1020.txt,1021.txt,1022. txt,1023.txt,1024.txt,1025.txt,1026.txt, 1027.txt,1028.txt,1029.txt,103.txt,1030. txt,1031.txt,1032.txt,1033.txt,1034.txt, 1035.txt,1036.txt,1037.txt,1038.txt,1039 .txt,104.txt,1040.txt,1041.txt,1042.txt, 1043.txt,1044.txt,1045.txt,1046.txt,1047 .txt,1048.txt,1049.txt,105.txt,1050.txt, 1051.txt,1052.txt,1053.txt,1054.txt,1055 .txt,1056.txt,1057.txt,1058.txt,1059.txt ,106.txt,1060.txt,1061.txt,1062.txt,1063 .txt,1064.txt,1065.txt,1066.txt,1067.txt ,1068.txt,1069.txt,107.txt,1070.txt,1071 .txt,1072.txt,1073.txt,1074.txt,1075.txt ,1076.txt,1077.txt,1078.txt,1079.txt,108 .txt,1080.txt,1081.txt,1082.txt,1083.txt ,1084.txt,1085.txt,1086.txt,1087.txt,108 8.txt,1089.txt,109.txt,1090.txt,1091.txt ,1092.txt,1093.txt,1094.txt,1095.txt,109 6.txt,1097.txt,1098.txt,1099.txt,11.txt, 110.txt,1100.txt,1101.t
0
Покинул форум
3700 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
26.09.2019, 12:28
Karen87, а ведь выше вас предупреждали об ограничениях командной строки. Но раз неверие пересилило, какой смысл жаловаться? Ограничение строки с cmd, по заверениям самой Microsoft, составляет 2047 символов в ОС <= 2k и 8191 в ОСях >= XP, что, мягко говоря, неправда, так как память под переменные в командной строке отводится в стеке, а не куче, суммарный объем выделяемой памяти вроде бы четверть страницы (1049), из которого примерно 18 байт резервируются оболочкой, - вроде так, если память не изменяет.
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
26.09.2019, 12:44  [ТС]
Цитата Сообщение от greg zakharov Посмотреть сообщение
Но раз неверие пересилило, какой смысл жаловаться?
Ни в коем случае не жалуюсь, но не думал, что максимальный размер переменной настолько мал :-)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.09.2019, 12:44
Помогаю со студенческими работами здесь

Вывод списка файлов из каталога
Указывает ошибку на ShowDirectory, ListBox1, Caption. Что нужно делать и что значит ShowDirectory??? Помогите пожалуйста.

Вывод списка файлов в Lazarus
Как вывести список файлов из каталога и отсортировать их по дате, типу и размеру???

Вывод списка файлов на экран
Здравствуйте!!! Подскажите пожалуйста, как с помощью bat-файла вывести на экран список файлов в каталогах, полные пути к каталогам заданы...

Вывод списка файлов с атрибутами
Нид хэлп, Разработать программу, которая проходит по всему дереву каталогов указанной ди- ректории и выводит список всех файлов с их...

Вывод списка файлов из директории
Доброе время суток. Возникла проблема, мне необходимо осуществить вывод списка файлов из определенной директории(задается пользователем),...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru