Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Исправить скрипт.. добавить сортировку выводимой информации (http://forum.oszone.net/showthread.php?t=308810)

Alexander_88 05-12-2015 12:11 2581648

Исправить скрипт.. добавить сортировку выводимой информации
 
Здравствуйте, есть бат файл:

Код:

@echo off
set name="start"
pushd "F:\02 meh"
for /f %%i in ('dir /b /a:-d ^| find /v /c /i %name%') do if %%i geq 20 (
echo 02 meh = (%%i^)
) else (
echo >NUL
)
popd

@echo off
set name="kil"
pushd "F:\run"
for /f %%i in ('dir /b /a:-d ^| find /v /c /i %name%') do if %%i geq 20 (
echo 02 run = (%%i^)
) else (
echo >NUL
)
popd
..................................

Скрипт проверяет много папок, выводит количество файлов (если их больше 20), которые имеют имена, которые отличаются от заданного имени в скрипте для каждой папки. Нужно, чтобы он их выводил (выделил жирным) сортируя по возрастанию (числа в скобках). Можно ли такое сделать? :)

Iska 05-12-2015 16:01 2581721

Цитата:

Цитата Alexander_88
которые имеют имена, которые отличаются от заданного имени »

Будет пропускать и имена, которые включают в себя указанное имя. Для первого случая это могут быть «starta», «startb», «astarta» и т.п.

А это:
Цитата:

Цитата Alexander_88
echo >NUL »

для чего?

Цитата:

Цитата Alexander_88
их выводил »

«их» — это что?

Alexander_88 05-12-2015 18:00 2581746

Цитата:

Цитата Iska
Будет пропускать и имена, которые включают в себя указанное имя. Для первого случая это могут быть «starta», «startb», «astarta» и т.п. »

я не знал об этом, а как прописать пропускаемое имя фиксировано? что бы пропускало именно start

Цитата:

Цитата Iska
для чего? »

это, чтобы если количество найденных файлов менее 20, ничего не выводилось.

Цитата:

Цитата Iska
«их» — это что? »

их, это количества файлов вместе с названиями папок.
к примеру результат выполнения вышеуказанного бата такой:

Код:

02 meh = (146)
02 run = (98)

а нужно, чтобы выводимые строки сортировались по возрастанию количества файлов (цифра в скобках)

т.е. чтобы результат вышеуказанного бата был таким:

Код:

02 run = (98)
02 meh = (146)


c4uran 07-12-2015 16:59 2582399

сортировку большого количества текста на batch хрен реализуешь, наверное можно только каким-то очень хитрым сравнением одних строк с другими(читай невозможно)

Iska 13-12-2015 09:46 2584288

Я бы даже сказал — кошмарно выглядящих возможностей :).

c4uran 14-12-2015 16:02 2584754

Georgio, Да это же БЕЗУМИЕ!

Вызов powershell из cmd не проще?

Iska 14-12-2015 16:25 2584762

c4uran, тогда возникает закономерный (и риторический) вопрос — зачем нам нужен:
Цитата:

Цитата c4uran
Вызов powershell из cmd »

когда можно просто работать именно с PowerShell?! То же касается WSH.

c4uran 14-12-2015 16:58 2584775

Iska, Если изначально планировать что будет делать скрипт то да, а вот если хочешь добавить в уже созданный скрипт полезную фичу то святое дело!


Время: 12:01.

Время: 12:01.
© OSzone.net 2001-