|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Процентное соотношение имен в файле |
|
CMD/BAT - Процентное соотношение имен в файле
|
Новый участник Сообщения: 14 |
Профиль | Сайт | Отправить PM | Цитировать Здравствуйте.
Собственно, есть файл, в котором много разных имен/названий того или иного файла. Нужно сделать процентное соотношение этих имен в файле. Пример: ==Folders== File1.exe File1.exe File2.exe File2.exe File1.exe File3.exe File1.exe File2.exe File4.exe File1.exe --> 50% - File1 --> 30% File2 --> 10% File3 --> 10% File4 |
|
Отправлено: 17:51, 08-06-2017 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата f1rstonlyone@vk:
|
|
Отправлено: 18:42, 08-06-2017 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 14
|
Профиль | Сайт | Отправить PM | Цитировать Файлbase.rar
|
Отправлено: 18:45, 08-06-2017 | #3 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать f1rstonlyone@vk,
именно вот так скопировал в "file.txt": ==Folders== File1.exe File1.exe File2.exe File2.exe File1.exe File3.exe File1.exe File2.exe File4.exe File1.exe |
Отправлено: 18:52, 08-06-2017 | #4 |
Новый участник Сообщения: 14
|
Профиль | Сайт | Отправить PM | Цитировать Цитата alpap:
Screenshot_1.png |
||
Отправлено: 18:59, 08-06-2017 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Посредством LogParser (Средство Log Parser 2.2 - TechNet - Microsoft):
"C:\Program Files (x86)\Log Parser 2.2\LogParser.exe" "SELECT Field1, MUL(PROPCOUNT(Field1), 100.0) AS Percent FROM 'C:\Мои проекты\0083\base.txt' GROUP BY Field1 ORDER BY Percent DESC" -i:CSV -headerRow:OFF -q:ON
Скрытый текст
Или так: "C:\Program Files (x86)\Log Parser 2.2\LogParser.exe" "SELECT Field1, COUNT(Field1) AS Total, MUL(PROPCOUNT(Field1), 100.0) AS Percent INTO DATAGRID FROM 'C:\Мои проекты\0083\base.txt' GROUP BY Field1 ORDER BY Percent DESC" -i:CSV -headerRow:OFF -q:ON
Скрытый текст
Или даже так: "C:\Program Files (x86)\Log Parser 2.2\LogParser.exe" "SELECT Field1, COUNT(Field1) AS Total INTO Chart.gif FROM 'C:\Мои проекты\0083\base.txt' GROUP BY Field1" -i:CSV -headerRow:OFF -q:ON -o:CHART -chartType:ColumnClustered -groupSize:2048x768 -view:ON
Скрытый текст
"C:\Program Files (x86)\Log Parser 2.2\LogParser.exe" "SELECT Field1, COUNT(Field1) AS Total INTO Chart.gif FROM 'C:\Мои проекты\0083\base.txt' GROUP BY Field1" -i:CSV -headerRow:OFF -q:ON -o:CHART -chartType:Pie -groupSize:1024x1024 -view:ON
Скрытый текст
|
Отправлено: 20:18, 08-06-2017 | #6 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать Вот вариант решения
@Echo OFF cls Set "FileIn=Z:\Box_In\file.txt" SetLocal EnableExtensions EnableDelayedExpansion Set /A nAll=0 Set /A nName=0 Set "Str=" For /F "usebackq tokens=*" %%s In (`More +1 "%FileIn%" 2^>nul^|Sort`) Do ( If /I Not "!Str!"=="%%s" ( Set /A nName+=1 Set "Str=%%s" Set /A n!nName!=0 Set "Name!nName!=%%s" ) Set /A nAll+=1 Set /A n!nName!+=1 ) Set "OutStr=" FOR /L %%i IN (1,1,%nName%) DO Call :Out "Name%%i" "n%%i" Echo %OutStr% pause GoTo :Eof :Out Call Set "Name=%%%~1%%" Call Set "n=%%%~2%%" Set /A Percent=((n*10000)/nAll+50)/100 Set "OutStr=%OutStr% --^>%Percent%%% - %Name%" GoTo :Eof Не нашел ничего общего между файлом base.txt в представленном base.rar и анонсированном тексте в самом вопросе Обрабатывал файл, где первой строкой идет строка ==Folders== Я её пропускаю. И далее File1.exe File1.exe File2.exe File2.exe File1.exe File3.exe File1.exe File2.exe File4.exe File1.exe Есть пробелы, нет - не важно. |
------- Последний раз редактировалось megaloman, 08-06-2017 в 22:08. Отправлено: 20:33, 08-06-2017 | #7 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Цитата f1rstonlyone@vk:
Файл 146164 писалось в принципе на скорую руку, но как вариант, когда лучшего нет, а так варианты лучше использовать предоставленные Iska и megaloman |
|
Последний раз редактировалось alpap, 07-12-2017 в 15:07. Отправлено: 21:47, 08-06-2017 | #8 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Asus M5A99FX Pro и соотношение частот | RevanSithLord | Материнские платы и память | 0 | 16-01-2017 06:52 | |
соотношение размеров мониторов | truvo | Хочу все знать | 15 | 05-05-2013 09:39 | |
Интерфейс - Экран - соотношение сторон и размеры | jungha | Microsoft Windows 2000/XP | 6 | 04-05-2012 06:07 | |
Соотношение сторон | Maloy clickonline | Видео и аудио: обработка и кодирование | 35 | 04-03-2009 13:49 | |
Видеоклипы - соотношение объем/качество??? | alexra | Хочу все знать | 7 | 03-12-2006 17:48 |
|