Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] [VBS] Сортировка текстовых строк с учётом директорий

Ответить
Настройки темы
VBS/WSH/JS - [решено] [VBS] Сортировка текстовых строк с учётом директорий

Старожил


Сообщения: 214
Благодарности: 5

Профиль | Отправить PM | Цитировать


Изменения
Автор: shadowbat
Дата: 05-01-2020
Есть текстовые строки (именно строки, а не пути к существующим файлам)
Код: Выделить весь код
\F1\1.txt
\F111\2.txt
\f11.txt
\f33.txt
\f22.txt
\F0\3.txt
\F0\1.txt
\F0\2\2.txt
\F1\
\F0\
\F0\2\
\F111\
Если их просто отсортировать по алфавиту, то получится
Код: Выделить весь код
\F0\
\F0\1.txt
\F0\2\
\F0\2\2.txt
\F0\3.txt
\f11.txt
\F111\
\F111\2.txt
\F1\
\F1\1.txt
\f22.txt
\f33.txt
Но нужно отсортировать их с учетом директорий, (сначала файлы в корне текущего каталога, потом подкаталоги) чтобы получилось так:
Код: Выделить весь код
\f11.txt
\f22.txt
\f33.txt
\F0\
\F0\1.txt
\F0\3.txt
\F0\2\
\F0\2\2.txt
\F1\
\F1\1.txt
\F111\
\F111\2.txt
либо наоборот, подкаталоги, потом файлы.
Код: Выделить весь код
\F0\
\F0\2\
\F0\2\2.txt
\F0\1.txt
\F0\3.txt
\F1\
\F1\1.txt
\F111\
\F111\2.txt
\f11.txt
\f22.txt
\f33.txt
либо любым подобным образом, только не по алфавиту, а по директориям
Как это сделать? есть решение или алгоритм? это должна быть рекурсивная функция? через split("\") ?

Скрытый текст

набросок для переменных
Код: Выделить весь код
Dim a(1 To 12)
a(1) = "\F1\1.txt"
a(2) = "\F111\2.txt"
a(3) = "\f11.txt"
a(4) = "\f33.txt"
a(5) = "\f22.txt"
a(6) = "\F0\3.txt"
a(7) = "\F0\1.txt"
a(8) = "\F0\2\2.txt"
a(9) = "\F1\"
a(10) = "\F0\"
a(11) = "\F0\2\"
a(12) = "\F111\"

Отправлено: 14:03, 05-01-2020

 

Старожил


Сообщения: 214
Благодарности: 5

Профиль | Отправить PM | Цитировать


megaloman,
время работы моментальное
теряется одна строка, нужно заменить For i = 1 To NN на For i = 1 To NN + 1

с этим макросом плавающая ошибка №3 уже не возникает, №1 и №2 также исправлены

сформировать свой файл можно через bat
Код: Выделить весь код
C:
cd windows
dir /b /s > D:\list.txt

Последний раз редактировалось shadowbat, 22-01-2020 в 23:26.

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:25, 22-01-2020 | #31



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] [VBS] Сортировка текстовых строк с учётом директорий

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Любой язык - [решено] Сравнение 2-х текстовых файлов и удаление дубликатов строк в 1-м файле. Uragan66 Скриптовые языки администрирования Windows 2 26-05-2019 16:14
Самостоятельно меняется первый символ строк в текстовых файлах (и другие проблемы) lesnoj Лечение систем от вредоносных программ 4 11-11-2015 08:42
CMD/BAT - [решено] удаление части строк из всех текстовых файлов в папке icq99999999 Скриптовые языки администрирования Windows 4 06-11-2013 07:19
Java - Сортировка строк по первому слову в алфавитном порядке pogo Программирование и базы данных 5 23-12-2011 08:05
Сортировщик строк в текстовых файлах. borison Программное обеспечение Windows 2 04-02-2007 10:22




 
Переход