Сортировка...
Есть файл, содержащий список файлов. Нужно в этом файле отсортировать имена файлов по размеру самих файлов.
Как такое реализовать??? |
В файле только имена файлов или размеры тоже есть?
|
Только имена. Но можно сделать и полный вывод с размером, датой и ещё кучу инфой.
В какую сторону копать??? |
Изучи ключи команды DIR. Обрати особое внимание на ключи /O и /S. Полученное можно вместо экрана сохранить в файл.
|
Изучал. При таком использовании - имена файлов вписываются без полного пути. А мне надо именно с полным путём. Или Dir всё-таки может выводить полные пути к файлам?
|
Могу предложить только dir /o:s /s > spisok.txt - далее написать макрос в Excel, к-й ко всем файлам будет добавлять имя папки.
|
Проблема в том, что мне не все файлы нужны из екущей директории, а только некорые, которые удовлетворяют условиям.
dir /o:s /s - нормально работает, если нет поддиректорий - тогда для каждой подпаки сортировка идёт отдельно, а не в целом. И получается, что отсортированы файлы только в группах, которые и определяеют их принадлежность к подпапке. Я добился того, что выводиться размер файла и его полный путь в одной строке (всё это выводиться в отдельный файл), отделённой табулятором. Появился вопрос - как отсортировать строки, по размерам цифр (размерам файлов)? При использовании комманды sort - идёт сортировка по алфавитно-цифровому признаку. |
Возможно, dir совершенно не подходит для такой цели. Почему бы не поискать альтернативу ?
|
Теперь мне нужно осортировать файл по числам. То есть, не по алфавитному порядку, а именно по числовому, от наибольшего до наименьшего (в математическом понимании).
Може есть консольные утилиты для этого? |
можно к примеру выровнять числа по правому краю, а поле слева заполнить нулями... но для этого потребуется полноценный батник. Вот пример, который выводит размер и имя файла в текущем каталоге с подкаталогами:
Код:
@echo off |
Если есть текстовый файл, в котором имена файлов и их размер, то загнать этот файл в эксель, так чтобы имена и размеры попали в разные столбцы, и...
|
Ты не понял. Мне не нужно заполнять нулями. Мне нужно либо отсортировать ВЫБРАНЫЕ ФАЙЛЫ (НЕ ВСЕ В ТЕКУЩЕЙ ДИРЕКТОРИИ, А ИМЕННО КОНКРЕТНЫЕ, КОТОРЫЕ ПОДХОДЯТ ОПРЕДЕЛЁННО) ПО РАЗМЕРУ!!!! А не заполнять нулями. Либо сразу сортировать по размеру и записывать в файлик, либо потом по числовому признаку. Вот пример из файлика
То, что есть (1-ый столбец размер файла, 2-ой полный путь) Код:
3391958 "Q:\Dir\qip8000\qip.exe" Код:
3391958 "Q:\Dir\qip8000\qip.exe" Цитата:
Желательно консольный вариант. |
skeletor
Цитата:
Применительно к сортировке файла file.txt - 2-й скрипт выводит список с ключом сортировки, 1-й выполняет сортировку и отсекает ключ... Никаких промежуточных текстовых файлов не создается: script1.cmd Код:
@echo off Код:
@echo off |
Огромное спасибо, работает. Ещё такой вопросик - нельзя ли сделать побольше табуляцию??? Например двойную.
Код:
SET LINE=!TAB:~0,-%2!%1;%1 %3 ----------------- я думаю в этой строке, только я не силён в языке оболочке. |
Всё, решил проблему.
Надо между %1 и %3 поставить больше пропуска. |
Время: 04:23. |
Время: 04:23.
© OSzone.net 2001-