Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Полное удаление дубликатов строк в текстовом файле 
Author Message
Flasher



PostPosted: Wed Dec 21, 2011 23:18    Post subject: Reply with quote

Хм. Задачу называть проблемой...
Code:
'=================================================================
' Оставить только уникальные строки  в выделенных текстовых файлах
' без концевых пробелов и пустых строк
' Параметр: %L
'=================================================================
If WScript.Arguments.Count = 0 Then WScript.Quit
L = vbNewLine
Set D = CreateObject("Scripting.Dictionary")
Set G = CreateObject("Scripting.Dictionary")
Set FSO = CreateObject("Scripting.FileSystemObject")
On Error Resume Next
For Each F in Split(FSO.OpenTextFile(WScript.Arguments(0)).ReadAll, L)
  If F > vbNullString Then
    For Each Str in Split(FSO.OpenTextFile(F, 1, -2).ReadAll, L)
      Str = Trim(Str)
      If Str <> "" Then
        D.Add Str, ""
        If Err.Number = 457 Then : G.Add Str, "" : Err.Clear : End If
      End If
    Next
    For Each K in G.Keys : D.Remove(K) : Next
    For Each N in D.Keys : S = S & N & L : Next
    FSO.OpenTextFile(F, 2, -2).Write Trim(S)
    D.RemoveAll : G.RemoveAll
  End If
Next
Set FSO = Nothing : Set D = Nothing : Set G = Nothing : WScript.Quit


Last edited by Flasher on Thu Dec 22, 2011 00:50; edited 2 times in total
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group