Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Contributor


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

Профиль | Отправить 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