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

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

Старожил


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

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


Baranius, попробуйте вот это.
Код: Выделить весь код
@Echo Off
Set File=test.txt

rem Разбираем файл построчно
For /F "usebackq delims=" %%S In ("%File%") Do (
    rem Проводим в нём же поиск по отдельно взятой строке и получаем количество совпадений
    For /F "tokens=3 delims=: " %%C In ('Find /C "%%S" "%File%"') Do (
        rem Сортируем строки по разным спискам
        If "%%C"=="1" (
            Echo %%S>>"checked.txt"
        ) Else (
            Echo %%S>>"duplicated.txt"
        )
    )
)
В качестве файла допустимо указывать только относительный путь (чтобы избежать появления в строке, выдаваемой Find ещё одного двоеточия). Кроме того, есть некоторая неточность в поиске данным методом - например, Find найдет и пометит, как дубликат строку "123", если в файле ещё будут присутствовать строки "1234" и "a123"
Впрочем, для вашей задачи (поиск дубликатов песен по их длительности) это особой роли не играет, вероятность совпадения из-за такого поведения Find крайне ничтожна.

Последний раз редактировалось Anonymоus, 04-06-2012 в 15:48.

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

Отправлено: 16:01, 03-06-2012 | #2